帮酷LOGO
0 0 评论
  • 显示原文与译文双语对照的内容
文章标签:BASH  字符串  str  COM  scripts  String  

问题:

我想在确认使用 read的密码设置变量之后,使用 rmdir 删除一个目录。

到目前为止,我有:


#!/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:

使用 if 比较这两个字符串( S1S2 )的正确方法是:


if ["$S1" ="$S2" ]



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

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


回答 2:

在bash脚本中,你需要比较两个变量和 below 方法。


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






文章标签:COM  str  scripts  String  BASH  字符串  

Copyright © 2011 HelpLib All rights reserved.    知识分享协议 京ICP备05059198号-3  |  如果智培  |  酷兔英语