我在Shell脚本子菜单选项程序中出错
我正在制作一个子菜单用户选项类程序,无法理解为什么它不工作。 我的工作代码是:-我在Shell脚本子菜单选项程序中出错,shell,Shell,我正在制作一个子菜单用户选项类程序,无法理解为什么它不工作。 我的工作代码是:- #!/bin/sh # # Main Program # choice=10 option=10 while [$choice -ne 5] do clear echo "------------------------------" echo "Main Menu" echo "------------------------------" echo "[1] FIle U
#!/bin/sh
#
# Main Program
#
choice=10
option=10
while [$choice -ne 5]
do
clear
echo "------------------------------"
echo "Main Menu"
echo "------------------------------"
echo "[1] FIle Utilities"
echo "[2] Process Utilities"
echo "[3] Alias Utilities"
echo "[4] Envorinment Utilites"
echo "[5] Exit"
echo "------------------------------"
read choice
case $choice in
1) clear
while [$option -ne 4]
do
clear
echo "------------------------------"
echo "File Utilities"
echo "------------------------------"
echo "[1] Change File Permission"
echo "[2] Move a File"
echo "[3] Dump Dir"
echo "[4] Return to Main Menu"
echo "------------------------------"
read option
option=4;
done;;
2) clear
option=10;
while [$option -ne 3]
do
clear
echo "------------------------------"
echo "Process Utilities"
echo "------------------------------"
echo "[1] Dump Process"
echo "[2] Kill Process"
echo "[3] Return to Main Menu"
echo "------------------------------"
read option
option=3;
done;;
3) clear
option=10;
while [$option -ne 3]
do
clear
echo "------------------------------"
echo "Alias Utilities"
echo "------------------------------"
echo "[1] Create Alias"
echo "[2] Remove Alias"
echo "[3] Return to Main Menu"
echo "------------------------------"
read option
option=3;
done;;
4) clear
option=10;
while [$option -ne 3]
do
clear
echo "------------------------------"
echo "Environment Utilities"
echo "------------------------------"
echo "[1] Dump Environment"
echo "[2] Modify Environment"
echo "[3] Return to Main Menu"
echo "------------------------------"
read option
option=3;
done;;
5) clear
clear
echo "------------------------------"
echo "Program Exit"
echo "------------------------------";;
*) clear
echo " Wrong Input Selected ";;
esac
done
我得到的错误是:-
/main:7:./main:[10:未找到
请帮助我哪里做错了……这里:
while [$choice -ne 5]
[
是一个程序,而不仅仅是语法。(在提示下,键入type[
和help[
)
与任何程序一样,shell在它和它的参数之间需要一个空格
while [ $choice -ne 5 ]
另外,使用shell的
select
语句可以节省大量的工作。应该有很多关于stackoverflow的select
示例