为什么这段代码不起作用?
#!/bin/bash
if [ "$(ls | grep a | wc -l)" -gt 2 ]
then
echo "asdasda"
fi
我应该加双引号吗?
新错误是:
line 5: syntax error near unexpected token 'fi'"
答案 0 :(得分:0)
2]
至2 ]
if
至fi
,如果工作代码:
if [ "$(ls | grep a | wc -l)" -gt 2 ]
then
echo "asdasda"
fi
字符串fi
指定if语句的结尾。
参考:http://wiki.bash-hackers.org/syntax/ccmd/if_clause
编辑:OP已多次编辑他的帖子以纠正损坏的代码。
要回答OP的其他问题,是的,您使用双引号是正确的,因为它可以防止不必要的扩展或执行,但不会阻止功能。