~增加设置别名时与系统内置命令/别名进行校验的功能

~修复自定义别名报错的bug
~修复还原面板节点时因为部分节点名包含冒号而还原失败的bug
This commit is contained in:
juewuy
2025-12-14 10:45:14 +08:00
parent 2247dbe58a
commit 9be192b29d
3 changed files with 17 additions and 11 deletions

View File

@@ -13,9 +13,8 @@ echo "***********************************************"
dir_avail() { dir_avail() {
df $2 $1 | awk '{ for(i=1;i<=NF;i++){ if(NR==1){ arr[i]=$i; }else{ arr[i]=arr[i]" "$i; } } } END{ for(i=1;i<=NF;i++){ print arr[i]; } }' | grep -E 'Ava|可用' | awk '{print $2}' df $2 $1 | awk '{ for(i=1;i<=NF;i++){ if(NR==1){ arr[i]=$i; }else{ arr[i]=arr[i]" "$i; } } } END{ for(i=1;i<=NF;i++){ print arr[i]; } }' | grep -E 'Ava|可用' | awk '{print $2}'
} }
setconfig() { ckcmd() { #检查命令
configpath=$CRASHDIR/configs/ShellCrash.cfg command -v sh >/dev/null 2>&1 && command -v "$1" || type "$1"
[ -n "$(grep ${1} $configpath)" ] && sed -i "s#${1}=.*#${1}=${2}#g" $configpath || echo "${1}=${2}" >>$configpath
} }
webget() { webget() {
#参数【$1】代表下载目录【$2】代表在线地址 #参数【$1】代表下载目录【$2】代表在线地址
@@ -44,9 +43,10 @@ error_down() {
} }
#安装及初始化 #安装及初始化
set_alias(){ set_alias(){
$echo "\033[32m请选择一个别名\033[0m"
echo ----------------------------------------------- echo -----------------------------------------------
$echo " 1 【\033[32m crash \033[0m" $echo "\033[36m请选择一个别名或使用自定义别名\033[0m"
echo -----------------------------------------------
$echo " 1 【\033[32mcrash\033[0m】"
$echo " 2 【\033[32m sc \033[0m】" $echo " 2 【\033[32m sc \033[0m】"
$echo " 3 【\033[32m mm \033[0m】" $echo " 3 【\033[32m mm \033[0m】"
$echo " 0 退出安装" $echo " 0 退出安装"
@@ -58,7 +58,12 @@ set_alias(){
3) my_alias=mm ;; 3) my_alias=mm ;;
*) my_alias=$res ;; *) my_alias=$res ;;
esac esac
setconfig my_alias $my_alias cmd=$(ckcmd "$my_alias" | grep 'menu.sh')
ckcmd "$my_alias" >/dev/null 2>&1 && [ -z "$cmd" ] && {
$echo "\033[33m此别名和当前系统内置命令/别名冲突,请换一个!\033[0m"
sleep 1
set_alias
}
} }
gettar() { gettar() {
webget /tmp/ShellCrash.tar.gz "$url/ShellCrash.tar.gz" webget /tmp/ShellCrash.tar.gz "$url/ShellCrash.tar.gz"

View File

@@ -261,6 +261,7 @@ if [ -n "$profile" ]; then
set_profile "$profile" set_profile "$profile"
#适配zsh环境变量 #适配zsh环境变量
zsh --version >/dev/null 2>&1 && [ -z "$(cat ~/.zshrc 2>/dev/null | grep CRASHDIR)" ] && set_profile '~/.zshrc' 2>/dev/null zsh --version >/dev/null 2>&1 && [ -z "$(cat ~/.zshrc 2>/dev/null | grep CRASHDIR)" ] && set_profile '~/.zshrc' 2>/dev/null
setconfig my_alias "$my_alias"
else else
echo -e "\033[33m无法写入环境变量请检查安装权限\033[0m" echo -e "\033[33m无法写入环境变量请检查安装权限\033[0m"
exit 1 exit 1

View File

@@ -1674,10 +1674,10 @@ web_save() { #最小化保存面板节点选择
#使用get_save获取面板节点设置 #使用get_save获取面板节点设置
get_save http://127.0.0.1:${db_port}/proxies | sed 's/:{/!/g' | awk -F '!' '{for(i=1;i<=NF;i++) print $i}' | grep -aE '"Selector"' | grep -aoE '"name":.*"now":".*",' >"$TMPDIR"/web_proxies get_save http://127.0.0.1:${db_port}/proxies | sed 's/:{/!/g' | awk -F '!' '{for(i=1;i<=NF;i++) print $i}' | grep -aE '"Selector"' | grep -aoE '"name":.*"now":".*",' >"$TMPDIR"/web_proxies
[ -s "$TMPDIR"/web_proxies ] && while read line; do [ -s "$TMPDIR"/web_proxies ] && while read line; do
def=$(echo $line | grep -oE '"all".*",' | awk -F "[:\"]" '{print $5}') def=$(echo $line | grep -oE '"all".*",' | awk -F "[\"]" '{print $4}')
now=$(echo $line | grep -oE '"now".*",' | awk -F "[:\"]" '{print $5}') now=$(echo $line | grep -oE '"now".*",' | awk -F "[\"]" '{print $4}')
[ "$def" != "$now" ] && { [ "$def" != "$now" ] && {
name=$(echo $line | grep -oE '"name".*",' | awk -F "[:\"]" '{print $5}') name=$(echo $line | grep -oE '"name".*",' | awk -F "[\"]" '{print $4}')
echo "${name},${now}" >>"$TMPDIR"/web_save echo "${name},${now}" >>"$TMPDIR"/web_save
} }
done <"$TMPDIR"/web_proxies done <"$TMPDIR"/web_proxies