我正在编写一个shell脚本,需要包含一些验证。我的验证是检查备份文件夹是否存在,其中包含正确数量的文件。
例如,如果备份成功运行,则备份文件夹中将有23个文件,我们可以继续。我的脚本遇到了一些问题 - 任何人都可以看到我的脚本无效吗?
if [ 'ls -1 | wc -l' == 23 ]
then
echo -e "\n Matching! \n"
else
echo -e "\n Something has gone wrong!\n"
fi
答案 0 :(得分:2)
在您的情况下,您使用单引号('
),其中您实际上打算使用反引号。您可以使用优先于反引号的$(..)
:
if [ $(ls -1 | wc -l) == 23 ]
另见: