書式
count $VARIABLE

概要

count コマンドは
渡された引数の個数を出力します。

これは、環境変数の配列に
何個の要素が含まれているかを
知るのに使われます。

引数は -h--help も含めて
一切取りません。

終了ステータス は引数がないときに非ゼロ、
1つ以上の引数があるときは0となります。

(訳注:空配列・未定義変数が
与えられた場合は異常終了、

1つ以上の要素が含まれる
配列や定義済の変数が与えられれば
正常終了です。)

実行例

環境変数 PATH のディレクトリ数を出力します。

$ count $PATH
13

カレントディレクトリ内の
拡張子.txtのファイルの個数を出力します。

$ count *.txt
2

訳注:countコマンドを条件式として使う実例

ファイルが存在しない場合は、
ワイルドカード の展開結果が
空になってエラーになります。

そこで、 ifcount
組み合わせることで、
ファイルが存在するときのみ
実行させることができます。

/dev/nullリダイレクト しているのは、
個数の出力を抑制するためです。

# *.fooが存在しない場合
$ ls *.foo
No matches for wildcard '*.foo'.
fish: ls *.foo
         ^
$ set foos *.foo
$ if count $foos >/dev/null
      ls $foos
  end

# *.fooが存在する場合
$ touch a.foo b.foo
$ ls *.foo
a.foo  b.foo
$ set foos *.foo
$ if count $foos >/dev/null
      ls $foos
  end
a.foo  b.foo

最後までお読みいただき、ありがとうございました。参考になれば嬉しいです。