【发布时间】:2020-03-12 16:47:33
【问题描述】:
我在 bash 脚本中有以下语句:
ssh $host "cd /directory; for i in *$date.gz; do echo $i; done; exit"
我希望它打印目录中以日期结尾的每个文件的名称,并且是一个 zip 文件。通过在命令行上 ssh-ing 到主机并搜索目录,我发现应该有 5 个这样的文件。但是,此脚本返回 5 个空行。我检查了 $date 变量是否在引号内正确定义(它是)。当我用'adf' 替换$i 时,脚本打印出来了
adf
adf
adf
adf
adf
所以它正确地过滤掉了这 5 个文件,但它只是没有打印它们的名称,而是将语句中的 $i 替换为什么都没有(因此该行只是 echo)。为什么要这样做,我怎样才能让它打印文件名?当我在命令行上运行这一行时,也会发生同样的事情。
【问题讨论】: