我可以修改 select 菜单项的编号方式吗?
Can I modify how select numbers its menu items?
当我用 select
显示菜单时,tt 显示类似这样的内容
1) Sample
2) Sample
我想把它变成
[01] Sample
[02] Sample
这可能吗?
(可能背景的原始问题)
此代码是开源的,我的朋友允许可以自由复制或编辑他存储库中的任何代码。
我在编辑这部分时遇到问题
source /usr/local/sbin/back
_title ()
{
clear
printf "\nCUSTOMIZE WS STATUS\n\n"
}
_msg ()
{
_title
printf "\n"
read -p "Your message : " message
}
_color ()
{
_title
printf "\nChoose color:\n\n"
select option in blue red green;
do
if [[ -n ${REPLY//[0-9]/} ]] || [[ $REPLY -lt 1 ]] || [[ $REPLY -gt 13 ]]; then
printf "\nTry Again.\n" && sleep 2
else
color=$option && printf "\nSelected Color: %s\n\n" "$color"
break
fi
done
}
_edit ()
{
_msg
_color
_title
cd /usr/local/bin/
for wspy in ws-ssh.py ws-stunnel.py ws-ovpn.py
do
sed -i "s|^RESPONSE =.*|RESPONSE = 'HTTP/1.1 101 <font color="${color}">${message}</font>XXXXContent-Length: 1048576000000YYYY'|" $wspy
sed -i 's|XXXX|\r\n|' $wspy
sed -i 's|YYYY|\r\n\r\n|' $wspy
done
cd ~
printf "\nDone, Please restart services via MENU to take effect.\n\n"
return
}
_title
PS3="
Choose the number from options: "
select option in Edit Exit;
do
case $option in
Edit)
_edit
break
;;
Exit)
exit
break
;;
*)
printf "Try Again." && sleep 2
edit_ws
break
;;
esac
done
Can I modify how select numbers its menu items?
没有。无法更改它。它被硬编码为 )
。来自 https://github.com/bminor/bash/blob/master/execute_cmd.c#L3134 :
#define RP_SPACE ") "
当我用 select
显示菜单时,tt 显示类似这样的内容
1) Sample
2) Sample
我想把它变成
[01] Sample
[02] Sample
这可能吗?
(可能背景的原始问题)
此代码是开源的,我的朋友允许可以自由复制或编辑他存储库中的任何代码。
我在编辑这部分时遇到问题
source /usr/local/sbin/back
_title ()
{
clear
printf "\nCUSTOMIZE WS STATUS\n\n"
}
_msg ()
{
_title
printf "\n"
read -p "Your message : " message
}
_color ()
{
_title
printf "\nChoose color:\n\n"
select option in blue red green;
do
if [[ -n ${REPLY//[0-9]/} ]] || [[ $REPLY -lt 1 ]] || [[ $REPLY -gt 13 ]]; then
printf "\nTry Again.\n" && sleep 2
else
color=$option && printf "\nSelected Color: %s\n\n" "$color"
break
fi
done
}
_edit ()
{
_msg
_color
_title
cd /usr/local/bin/
for wspy in ws-ssh.py ws-stunnel.py ws-ovpn.py
do
sed -i "s|^RESPONSE =.*|RESPONSE = 'HTTP/1.1 101 <font color="${color}">${message}</font>XXXXContent-Length: 1048576000000YYYY'|" $wspy
sed -i 's|XXXX|\r\n|' $wspy
sed -i 's|YYYY|\r\n\r\n|' $wspy
done
cd ~
printf "\nDone, Please restart services via MENU to take effect.\n\n"
return
}
_title
PS3="
Choose the number from options: "
select option in Edit Exit;
do
case $option in
Edit)
_edit
break
;;
Exit)
exit
break
;;
*)
printf "Try Again." && sleep 2
edit_ws
break
;;
esac
done
Can I modify how select numbers its menu items?
没有。无法更改它。它被硬编码为 )
。来自 https://github.com/bminor/bash/blob/master/execute_cmd.c#L3134 :
#define RP_SPACE ") "