【发布时间】:2018-05-21 23:58:27
【问题描述】:
我在下面代码的第二行收到一个 ShellCheck 警告 [SC2045]。是否可以忽略它,因为我在尝试最后一个 ls 之前确保目录不为空?
if [ "$(ls -A "$retryDir")" ] ; then
for thisRetryFile in $(ls "$retryDir"/*.tar.gz) ; do
scp -o ConnectTimeout=30 "$thisRetryFile" \
"$remoteUser@$remoteHost:$remotePath" >> "$BACKUPLOG"
done
fi
更新: 看完帖子cmets。我已将行更改为:
for thisRetryFile in "$retryDir"/*.tar.gz ; do
这已删除警告。
【问题讨论】:
-
空目录不是唯一的问题。带空格的文件名也是个问题。
-
好的,我明白了。谢谢。
-
哦,还有包含通配符的文件名。
标签: bash ls shellcheck