【发布时间】:2017-06-01 06:52:17
【问题描述】:
我目前正在尝试列出作为第一个参数传递给脚本的目录中所有文件的大小,但是 Linux 中的 -f 选项不起作用,或者我遗漏了什么。
代码如下:
for tmp in "$1/*"
do
echo $tmp
if [ -f "$tmp" ]
then num=`ls -l $tmp | cut -d " " -f5`
echo $num
fi
done
我该如何解决这个问题?
【问题讨论】:
-
您的输出是什么?它与您的预期有何不同?
-
您是否缺少 if 语句后的分号。如果 [ -f "$tmp" ];然后..
-
@ThomasKühn 它回显了
tmp变量,但它甚至没有进入if 条件,因此它没有回显num变量。 -
@SavoDebeljak:检查下面我的答案,错误是因为你有引用的 globbing,按照我的答案修复它
-
if适合我。