Merge pull request #1146 from sofia-riese/fix_bug

fix: correct read option order (-r -p) to avoid invalid identifier error
This commit is contained in:
juewuy
2026-01-17 23:15:54 +08:00
committed by GitHub
3 changed files with 20 additions and 20 deletions

View File

@@ -167,17 +167,17 @@ setgroups() {
echo -e "\033[33m注意策略组名称必须和【自定义规则】或【自定义节点】功能中指定的策略组一致\033[0m"
echo -e "\033[33m建议先创建策略组之后可在【自定义规则】或【自定义节点】功能中智能指定\033[0m"
echo -e "\033[33m如需在当前策略组下添加节点请手动编辑$YAMLSDIR/proxy-groups.yaml\033[0m"
read -pr "请输入自定义策略组名称(不支持纯数字且不要包含特殊字符!) > " new_group_name
read -r -p "请输入自定义策略组名称(不支持纯数字且不要包含特殊字符!) > " new_group_name
echo "-----------------------------------------------"
echo -e "\033[32m请选择策略组【$new_group_name】的类型!\033[0m"
echo "$group_type_cn" | awk '{for(i=1;i<=NF;i++){print i" "$i}}'
read -pr "请输入对应数字 > " num
read -r -p "请输入对应数字 > " num
new_group_type=$(echo "$group_type" | awk '{print $'"$num"'}')
if [ "$num" = "1" ]; then
unset new_group_url interval
else
read -pr "请输入测速地址回车则默认使用https://www.gstatic.com/generate_204 > " new_group_url
read -r -p "请输入测速地址回车则默认使用https://www.gstatic.com/generate_204 > " new_group_url
[ -z "$new_group_url" ] && new_group_url=https://www.gstatic.com/generate_204
new_group_url="url: '$new_group_url'"
interval="interval: 300"
@@ -206,7 +206,7 @@ EOF
echo "$proxy_group" | awk -F '#' '{for(i=1;i<=NF;i++){print i" "$i}}'
echo "-----------------------------------------------"
echo -e " 0 跳过添加"
read -pr "请输入对应数字(多个用空格隔开) > " char
read -r -p "请输入对应数字(多个用空格隔开) > " char
case "$char" in
"" | 0) ;;
*)
@@ -234,7 +234,7 @@ EOF
echo -e " 2 查看自定义策略组"
echo -e " 3 清空自定义策略组"
echo -e " 0 返回上级菜单"
read -pr "请输入对应数字 > " num
read -r -p "请输入对应数字 > " num
case "$num" in
"" | 0)
break
@@ -268,7 +268,7 @@ setproxies() {
echo -e "\033[33m注意节点格式必须是单行,不包括括号,name:必须写在最前,例如:\033[0m"
echo -e "\033[36m【name: \"test\", server: 192.168.1.1, port: 12345, type: socks5, udp: true】\033[0m"
echo -e "更多写法请参考:\033[32m https://juewuy.github.io/ \033[0m"
read -pr "请输入节点 > " proxy_state_set
read -r -p "请输入节点 > " proxy_state_set
if echo "$proxy_state_set" | grep -q "#"; then
echo -e "\033[33m绝对禁止包含【#】号!!!\033[0m"
elif echo "$proxy_state_set" | grep -Eq "^name:"; then
@@ -288,7 +288,7 @@ setproxies() {
echo "$proxy_group" | awk -F '#' '{for(i=1;i<=NF;i++){print i" "$i}}'
echo "-----------------------------------------------"
echo -e " 0 返回上级菜单"
read -pr "请输入对应数字(多个用空格隔开) > " char
read -r -p "请输入对应数字(多个用空格隔开) > " char
case "$char" in
"" | 0) ;;
*)
@@ -319,7 +319,7 @@ setproxies() {
echo -e " 3 清空自定义节点"
echo -e " 4 配置节点绕过: \033[36m$proxies_bypass\033[0m"
echo -e " 0 返回上级菜单"
read -pr "请输入对应数字 > " num
read -r -p "请输入对应数字 > " num
case "$num" in
"" | 0)
break
@@ -337,7 +337,7 @@ setproxies() {
cat "$YAMLSDIR"/proxies.yaml | grep -Ev '^#' | awk -F '[,,}]' '{print NR, $1, $NF}' | sed 's/- {//g'
echo "-----------------------------------------------"
echo -e "\033[33m输入节点对应数字可以移除对应节点\033[0m"
read -pr "请输入对应数字 > " num
read -r -p "请输入对应数字 > " num
if [ "$num" -le $(cat "$YAMLSDIR"/proxies.yaml | grep -Ev '^#' | wc -l) ]; then
sed -i "$num{/^\s*[^#]/d}" "$YAMLSDIR"/proxies.yaml
else
@@ -349,7 +349,7 @@ setproxies() {
fi
;;
3)
read -pr "确认清空全部自定义节点?(1/0) > " res
read -r -p "确认清空全部自定义节点?(1/0) > " res
[ "$res" = "1" ] && sed -i '/^\s*[^#]/d' "$YAMLSDIR"/proxies.yaml 2>/dev/null
;;
4)
@@ -357,7 +357,7 @@ setproxies() {
if [ "$proxies_bypass" = "OFF" ]; then
echo -e "\033[33m本功能会自动将当前配置文件中的节点域名或IP设置为直连规则以防止出现双重流量\033[0m"
echo -e "\033[33m请确保下游设备使用的节点与ShellCrash中使用的节点相同否则无法生效\033[0m"
read -pr "启用节点绕过?(1/0) > " res
read -r -p "启用节点绕过?(1/0) > " res
[ "$res" = "1" ] && proxies_bypass=ON
else
proxies_bypass=OFF

View File

@@ -204,7 +204,7 @@ set_bot_tg() {
echo -e " 2 TG-BOT绑定设置 \033[32m$TG_CHATID_info\033[0m"
echo -e " 0 返回上级菜单 \033[0m"
echo "-----------------------------------------------"
read -pr "请输入对应数字 > " num
read -r -p "请输入对应数字 > " num
case "$num" in
"" | 0)
break
@@ -220,7 +220,7 @@ set_bot_tg() {
;;
2)
if [ -n "$chat_ID" ] && [ -n "$push_TG" ] && [ "$push_TG" != 'publictoken' ]; then
read -pr "检测到已经绑定了TG推送BOT是否直接使用(1/0) > " res
read -r -p "检测到已经绑定了TG推送BOT是否直接使用(1/0) > " res
if [ "$res" = 1 ]; then
TOKEN="$push_TG"
set_bot_tg_config
@@ -485,7 +485,7 @@ set_shadowsocks(){
set_shadowsocks
;;
*) errornum ;;
esac
esac
}
# 自定义端点

View File

@@ -16,7 +16,7 @@ forwhat() {
echo -e " 2 \033[36mLinux设备仅配置本机代理\033[0m"
[ -f "$CFG_PATH.bak" ] && echo -e " 3 \033[33m还原之前备份的设置\033[0m"
echo "-----------------------------------------------"
read -pr "请输入对应数字 > " num
read -r -p "请输入对应数字 > " num
case "$num" in
"" | 1)
# 设置运行模式
@@ -55,7 +55,7 @@ forwhat() {
if [ "$(cat /proc/sys/net/ipv4/ip_forward)" = "0" ]; then
echo "-----------------------------------------------"
echo -e "\033[33m检测到你的设备尚未开启ip转发局域网设备将无法正常连接网络是否立即开启\033[0m"
read -pr "是否开启?(1/0) > " res
read -r -p "是否开启?(1/0) > " res
[ "$res" = 1 ] && {
echo 'net.ipv4.ip_forward = 1' >>/etc/sysctl.conf
sysctl -w net.ipv4.ip_forward=1
@@ -100,7 +100,7 @@ userguide() {
echo -e "\033[0m开启后核心及数据库文件将被下载到内存中这将占用一部分内存空间\033[0m"
echo -e "\033[0m每次开机后首次运行服务时都会自动的重新下载相关文件\033[0m"
echo "-----------------------------------------------"
read -pr "是否开启?(1/0) > " res
read -r -p "是否开启?(1/0) > " res
[ "$res" = 1 ] && {
BINDIR=/tmp/ShellCrash
setconfig BINDIR /tmp/ShellCrash "$CRASHDIR"/configs/command.env
@@ -114,7 +114,7 @@ userguide() {
if [ "$systype" = "mi_snapshot" ]; then
echo "-----------------------------------------------"
echo -e "\033[33m检测到为小米路由设备启用软固化可防止路由升级后丢失SSH\033[0m"
read -pr "是否启用软固化功能?(1/0) > " res
read -r -p "是否启用软固化功能?(1/0) > " res
[ "$res" = 1 ] && mi_autoSSH
fi
@@ -124,7 +124,7 @@ userguide() {
echo -e "\033[32m是否导入配置文件\033[0m(这是运行前的最后一步)"
echo -e "\033[0m你必须拥有一份配置文件才能运行服务\033[0m"
echo "-----------------------------------------------"
read -pr "现在开始导入?(1/0) > " res
read -r -p "现在开始导入?(1/0) > " res
[ "$res" = 1 ] && inuserguide=1 && {
. "$CRASHDIR"/menus/6_core_config.sh && set_core_config
inuserguide=""
@@ -135,7 +135,7 @@ userguide() {
echo "-----------------------------------------------"
echo -e "\033[36m很好现在只需要执行启动就可以愉快的使用了\033[0m"
echo "-----------------------------------------------"
read -pr "立即启动服务?(1/0) > " res
read -r -p "立即启动服务?(1/0) > " res
[ "$res" = 1 ] && start_core && sleep 2
return 0
}