~增加设置别名时与系统内置命令/别名进行校验的功能
~修复自定义别名报错的bug ~修复还原面板节点时因为部分节点名包含冒号而还原失败的bug
This commit is contained in:
21
install.sh
21
install.sh
@@ -13,9 +13,8 @@ echo "***********************************************"
|
||||
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}'
|
||||
}
|
||||
setconfig() {
|
||||
configpath=$CRASHDIR/configs/ShellCrash.cfg
|
||||
[ -n "$(grep ${1} $configpath)" ] && sed -i "s#${1}=.*#${1}=${2}#g" $configpath || echo "${1}=${2}" >>$configpath
|
||||
ckcmd() { #检查命令
|
||||
command -v sh >/dev/null 2>&1 && command -v "$1" || type "$1"
|
||||
}
|
||||
webget() {
|
||||
#参数【$1】代表下载目录,【$2】代表在线地址
|
||||
@@ -44,11 +43,12 @@ error_down() {
|
||||
}
|
||||
#安装及初始化
|
||||
set_alias(){
|
||||
$echo "\033[32m请选择一个别名\033[0m"
|
||||
echo -----------------------------------------------
|
||||
$echo " 1 【\033[32m crash \033[0m】"
|
||||
$echo " 2 【\033[32m sc \033[0m】"
|
||||
$echo " 3 【\033[32m mm \033[0m】"
|
||||
$echo "\033[36m请选择一个别名,或使用自定义别名:\033[0m"
|
||||
echo -----------------------------------------------
|
||||
$echo " 1 【\033[32mcrash\033[0m】"
|
||||
$echo " 2 【\033[32m sc \033[0m】"
|
||||
$echo " 3 【\033[32m mm \033[0m】"
|
||||
$echo " 0 退出安装"
|
||||
echo -----------------------------------------------
|
||||
read -p "请输入相应数字或自定义别名 > " res
|
||||
@@ -58,7 +58,12 @@ set_alias(){
|
||||
3) my_alias=mm ;;
|
||||
*) my_alias=$res ;;
|
||||
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() {
|
||||
webget /tmp/ShellCrash.tar.gz "$url/ShellCrash.tar.gz"
|
||||
|
||||
@@ -261,6 +261,7 @@ if [ -n "$profile" ]; then
|
||||
set_profile "$profile"
|
||||
#适配zsh环境变量
|
||||
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
|
||||
echo -e "\033[33m无法写入环境变量!请检查安装权限!\033[0m"
|
||||
exit 1
|
||||
|
||||
@@ -1674,10 +1674,10 @@ web_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
|
||||
[ -s "$TMPDIR"/web_proxies ] && while read line; do
|
||||
def=$(echo $line | grep -oE '"all".*",' | awk -F "[:\"]" '{print $5}')
|
||||
now=$(echo $line | grep -oE '"now".*",' | awk -F "[:\"]" '{print $5}')
|
||||
def=$(echo $line | grep -oE '"all".*",' | awk -F "[\"]" '{print $4}')
|
||||
now=$(echo $line | grep -oE '"now".*",' | awk -F "[\"]" '{print $4}')
|
||||
[ "$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
|
||||
}
|
||||
done <"$TMPDIR"/web_proxies
|
||||
|
||||
Reference in New Issue
Block a user