这是我显示一些对话框的代码。
#!/bin/bash
output=$(zenity --list --text="Choose action" --column= --hide-header "Hidden Files" "Desktop")
if [ $output = "Hidden Files"]
then
output2=$(zenity --list --text="Do what?" --column= --hide-header "Show" "Hide")
if [ $output2 = "Show"]
then
echo showing files
else
echo hiding files
elif [ $output = "Desktop"];then
output3=$(zenity --list --text="Do what?" --column= --hide-header "Show" "Hide")
if [ $output2 = "Show"]
then
echo showing files
else
echo hiding files
else
exit
fi
第一个对话框后出现此错误:
systool.sh: line 12: syntax error near unexpected token `elif'
systool.sh: line 12: `elif [ $output = "Desktop"];then'
什么错了?
答案 0 :(得分:4)
您需要使用fi
关闭两个内部if-else语句。
例如:
if [ $output2 = "Show"]
then
echo showing files
else
echo hiding files
fi
在if条件中,在结束]
之前还需要一个空格。例如:
if [ $output2 = "Show" ]
答案 1 :(得分:0)
您的内部if
没有相应的fi
s。
答案 2 :(得分:0)
fi
echo hiding files