Answers:
for i in "$incoming_dir"/*"$business_date"*; do
以交互方式,ls
具有一个-d
防止进入子目录的选项:
ls -d $INCOMINGDIR/*$BUSSINESSDATE*
"${i}"
。你永远不会知道里面可能有什么i
。
my_file.doc[newline]another_persons_file.doc
并希望某些脚本可以尝试“ rm”它所看到的2个文件名... Glenn的链接是必读的(在mywiki.wooledge.org上,每个人都应该阅读整个常见问题解答以及陷阱页面)
ls -d .*
没有理由为什么此命令是递归的。但是,如果$INCOMINGDIR/*$BUSSINESSDATE*
与目录匹配,则会显示该目录的内容,而不是目录本身。但是没有超出此级别的递归。
使用此命令可避免这种影响:
ls -d "$INCOMINGDIR/"*"$BUSSINESSDATE"*
for ... in
带ls
输出的命令有风险。
一般来说,find
似乎是更好的解决方案,或者
for i in "$INCOMINGDIR/"*"$BUSSINESSDATE"*
printf %s\\n "$INCOMINGDIR/"*"$BUSINESSDATE"*