如何检查文件在bash shell中是否为空?

我有一个文件,diff.txt

想要在bash中写一个简单的if / else脚本来检查diff.txt是否为空。做了这样的事情,但不能得到它的工作。

if [ -s diff.txt ]
then
        touch empty.txt
        rm full.txt
else
        touch full.txt
        rm emtpy.txt
fi

怀疑它是文件名的命名,但googled,无处。

拼写错误是刺激性的,不是吗?检查你的拼写为空,但也尝试这样:
#!/bin/bash -e

if [ -s diff.txt ]
then
        rm -f empty.txt
        touch full.txt
else
        rm -f full.txt
        touch empty.txt
fi

我喜欢shell脚本很多,但它的一个缺点是,shell不能帮助你,当你拼错,而一个编译器,如你的C编译器可以帮助你。

注意附带地说,我已经交换了empty.txt和full.txt的角色,正如@Matthias建议的。

相关文章

用的openwrt路由器,家里宽带申请了动态公网ip,为了方便把2...
#!/bin/bashcommand1&command2&wait从Shell脚本并行...
1.先查出MAMP下面集成的PHP版本cd/Applications/MAMP/bin/ph...
1、先输入locale-a,查看一下现在已安装的语言2、若不存在如...
BashPerlTclsyntaxdiff1.进制数表示Languagebinaryoctalhexa...
正常安装了k8s后,使用kubect工具后接的命令不能直接tab补全...