if [[ -s log.txt ]];
-sとはどういう意味ですか? -zはゼロサイズの文字列を意味します。 -sに関するドキュメントが見つかりません。
if条件を記述しているときに、[]または[[]]はどういう意味ですか。 []または[[]]なしでifを使用しましたが、正常に機能しました。
回答
-sテストは次の場合にtrueを返します
[…]ファイルが存在し、サイズがゼロより大きい
これは、bashのマニュアルとのマニュアルに記載されています。 testユーティリティ(テストはif test -s file; thenと記述される場合もあります)。
および[[ ... ]]を参照してください: Bash-構文が混乱している場合
回答
-sファイル:-ファイルが存在し、サイズがゼロより大きい。
[[…]]部分では、演算子を使用して条件をテストできます。 ifステートメントと考えてください。この例では、「-s演算子を使用しています。この演算子は、参照されているファイルが空でないことをテストします。