【发布时间】:2017-02-06 17:04:39
【问题描述】:
我想在继续处理该文件之前检查该文件是否只存在一个实例。
我可以使用这个命令检查有多少实例存在:
ls -l $INPUT_DIR/${INPUT_FILE_PREFIX}cons*.csv.gz | wc -l;
但是,当我在 if 语句中使用它时,会警告我 ls: command not found.
if [ls -l $INPUT_DIR/${INPUT_FILE_PREFIX}cons*.csv.gz | wc -l = '1']
then
echo "Only 1 File Exists";
fi
我尝试在 ls 命令的末尾添加分号并将其括在方括号中 - 这些都没有产生任何结果。
我很少需要编写任何 Shell 脚本,我怀疑这是一个非常基本的错误,因此非常感谢任何帮助。
【问题讨论】:
-
你真的不想在脚本中使用
ls。阅读mywiki.wooledge.org/ParsingLs -
错误是
[ls: command not found,因为[ls确实不是一个有效的命令;另见Why should there be spaces around '[' and ']' in Bash?