我想编写一个脚本,在rmdir
使用密码确认后删除一个目录并read
设置变量。
到目前为止我有这个:
#!/bin/bash -x
echo "Password:"
read -t 30 S1
S2='55555'
if [ $S1=$S2 ]; then
rmdir /home/william/test
else
echo "fail"
sleep 10
fi
因此,我必须-x
尝试调试它,但每次脚本要么无法回显(如果我输入了错误的密码),要么不会删除所需的目录。
如果有人有我可以使用的可修改脚本或者您可以指出当前脚本的问题,那就太好了。
答案1
S1
比较这两个字符串(和S2
)的正确方法if
是:
if [ "$S1" = "$S2" ]
在这种情况下,不要吝惜使用空间。
看:http://tldp.org/LDP/Bash-Beginners-Guide/html/sect_07_01.html
答案2
在 Bash 脚本中,您需要使用以下方法比较两个变量。
if [ "var1" != "var2" ]; then
Do something
fi;
空间很重要
答案3
您也可以使用 GNU test
,例如:
test s1 = s2 && echo Equal || echo Not equal
根据您的上下文,它是:
test "$S1" = "$S2" && rmdir -v /home/william/test