if [[ -s log.txt ]];
-s 是什么意思?我知道 -z 意味着零大小的字符串。我找不到有关 -s 的任何文档。
写条件时,[]或[[]]是什么意思if
。我在没有 [] 或 [[]] 的情况下使用if
,效果很好。
答案1
测试-s
返回 true 如果
[...]如果文件存在并且大小大于零
bash
这在手册中以及实用程序的手册中都有记录test
(也可以编写测试if test -s file; then
)。
对于[ ... ]
和[[ ... ]]
,请参阅:Bash - 如果语法混乱
答案2
-s
文件:- 文件存在且大小大于零。
[[ ... ]] 部分允许使用运算符测试条件。将其视为 if 语句。在您的示例中,您使用的是-s
运算符,该运算符测试引用的文件是否不为空。