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