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