这是我的 shell 文件中的内容:
FILENAME=/var/lib/backups/html-backup/backup-15-04-2016.tar.gz;
FILESIZE= $(ls -lah $FILENAME | awk '{ $FILESIZEINGB = $5}')
echo "Size is $FILESIZEINGB ."
Run Code Online (Sandbox Code Playgroud)
您能告诉我为什么我看不到可读形式的文件大小吗?
似乎 $FILESIZEINGB 未设置,我在输出中看不到结果echo
。
您无法从子进程设置 shell 变量 - 因此设置FILESIZEINGB
无论如何都不起作用(并且它不起作用,因为这意味着awk
语法中的其他内容)。
只需使用du -h
:
FILESIZEINGB=$(du -h "$FILENAME" | awk '{print $1}')
Run Code Online (Sandbox Code Playgroud)
还:
=
。