我想一次显示当前工作目录中每个文件的大小,我写了这个脚本
for $filename in "/etc/passwd";$filesize=$(stat --format=%s "$filename");echo $filesize.
但我收到了这个错误信息
-bash: syntax error near unexpected token `$filesize=$(stat --format=%s "$filename")'
答案1
你的脚本中有很多错误
变量赋值
var=value
不是$var=value
循环
for
需要一个do
和一个done
所以
for filename in "/etc/passwd"; do
filesize=$(stat --format=%s "$filename");
echo $filesize
done
但请注意,这"/etc/passwd"
不是“当前工作目录”——它是一个文件。如果你真的想循环遍历当前目录中的文件,那么
for filename in * . . .
请注意,除非文件数量非常大,否则你可以完全省略循环,只需执行
stat --format=%s *
或者
find . -maxdepth 1 -printf '%s\n'