比较 Bash 中的两个字符串

Des*_*ole 13 bash scripts password

我想制作一个脚本,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
Run Code Online (Sandbox Code Playgroud)

所以,我必须-x尝试调试它,但每次脚本要么无法回显(如果我输入错误密码)要么不会删除所需的目录。

如果有人有我可以使用的可修改脚本,或者您可以指出当前脚本的问题,那就太好了。

Rad*_*anu 17

比较这两个字符串 ( S1and S2)的正确方法if是:

if [ "$S1" = "$S2" ]
Run Code Online (Sandbox Code Playgroud)

在这种情况下,不要吝啬使用空间。

请参阅:http : //tldp.org/LDP/Bash-Beginners-Guide/html/sect_07_01.html


小智 6

在 bash 脚本中,您需要使用以下方法比较两个变量。

if [ "var1" != "var2" ]; then
  Do something
fi;
Run Code Online (Sandbox Code Playgroud)

空间很重要