mirror of
https://github.com/juewuy/ShellCrash.git
synced 2026-03-14 17:31:27 +00:00
refactor: replace recursion with while loop in setdir
This commit is contained in:
32
install.sh
32
install.sh
@@ -100,28 +100,37 @@ gettar() {
|
||||
fi
|
||||
fi
|
||||
}
|
||||
setdir() {
|
||||
|
||||
set_usb_dir() {
|
||||
while true; do
|
||||
$echo "请选择安装目录"
|
||||
du -hL /mnt | awk '{print " "NR" "$2" "$1}'
|
||||
read -p "请输入相应数字 > " num
|
||||
dir=$(du -hL /mnt | awk '{print $2}' | sed -n "$num"p)
|
||||
if [ -z "$dir" ]; then
|
||||
$echo "\033[31m输入错误!请重新设置!\033[0m"
|
||||
set_usb_dir
|
||||
continue
|
||||
fi
|
||||
break 1
|
||||
done
|
||||
}
|
||||
|
||||
set_asus_dir() {
|
||||
while true; do
|
||||
echo -e "请选择U盘目录"
|
||||
du -hL /tmp/mnt | awk -F/ 'NF<=4' | awk '{print " "NR" "$2" "$1}'
|
||||
read -p "请输入相应数字 > " num
|
||||
dir=$(du -hL /tmp/mnt | awk -F/ 'NF<=4' | awk '{print $2}' | sed -n "$num"p)
|
||||
if [ ! -f "$dir/asusware.arm/etc/init.d/S50downloadmaster" ]; then
|
||||
echo -e "\033[31m未找到下载大师自启文件:$dir/asusware.arm/etc/init.d/S50downloadmaster,请检查设置!\033[0m"
|
||||
set_asus_dir
|
||||
continue
|
||||
fi
|
||||
break 1
|
||||
done
|
||||
}
|
||||
|
||||
set_cust_dir() {
|
||||
while true; do
|
||||
echo "-----------------------------------------------"
|
||||
echo '可用路径 剩余空间:'
|
||||
df -h | awk '{print $6,$4}' | sed 1d
|
||||
@@ -129,9 +138,14 @@ setdir() {
|
||||
read -p "请输入自定义路径 > " dir
|
||||
if [ "$(dir_avail $dir)" = 0 ] || [ -n "$(echo $dir | grep -E 'tmp|opt|sys')" ]; then
|
||||
$echo "\033[31m路径错误!请重新设置!\033[0m"
|
||||
set_cust_dir
|
||||
continue
|
||||
fi
|
||||
break 1
|
||||
done
|
||||
}
|
||||
|
||||
setdir() {
|
||||
while true; do
|
||||
echo "-----------------------------------------------"
|
||||
$echo "\033[33m注意:安装ShellCrash至少需要预留约1MB的磁盘空间\033[0m"
|
||||
if [ -n "$systype" ]; then
|
||||
@@ -228,13 +242,19 @@ setdir() {
|
||||
fi
|
||||
|
||||
if [ ! -w $dir ]; then
|
||||
$echo "\033[31m没有$dir目录写入权限!请重新设置!\033[0m" && sleep 1 && setdir
|
||||
$echo "\033[31m没有$dir目录写入权限!请重新设置!\033[0m"
|
||||
sleep 1
|
||||
else
|
||||
$echo "目标目录\033[32m$dir\033[0m空间剩余:$(dir_avail $dir -h)"
|
||||
read -p "确认安装?(1/0) > " res
|
||||
[ "$res" = "1" ] && CRASHDIR=$dir/ShellCrash || setdir
|
||||
if [ "$res" = "1" ]; then
|
||||
CRASHDIR=$dir/ShellCrash
|
||||
break
|
||||
fi
|
||||
fi
|
||||
done
|
||||
}
|
||||
|
||||
install() {
|
||||
echo "-----------------------------------------------"
|
||||
echo 开始从服务器获取安装文件!
|
||||
|
||||
Reference in New Issue
Block a user