出于某种原因,我无法获得if语句来测试字符串是否字面上等于星号。我已经尝试了所有我能想到的组合,我不想搞乱文件混淆。请帮忙。测试字符串是否为“*”
if [ $VAR = "\*" ]; then
* UPDATE *
这些建议都工作。这个问题显然不是与*比较,而是与if语句的另一部分。这应该是比较$VAR
是否在0到20之间,或者是通配符。
if [ "$VAR" -gt 0 ] && [ "$VAR" -lt 20 ] || [ "$VAR" = "*" ]; then
IF语句的其他部分,如果显然是去了最后的比较。
* UPDATE *
只要再次测试,并检查了我的语法。当$VAR
为0 20之间,它的伟大工程(真),当$VAR
超过20它还但是当我尝试设置$VAR
到*的if语句怪胎作品(报告错误),并弹出:
line 340: [: *: integer expression expected
完美的解决方案,谢谢! – Atomiklan