将来的にこれをサポートするためにいくつかの作業が進行中のようです:
https://github.com/fish-shell/fish-shell/issues/478
https://github.com/xiaq/fish-shell/tree/opt-parse
しかし、それまでの間、これに対処するための推奨される方法は何ですか? $argv を解析するだけでよいのでしょうか? もしそうなら、いくつかのヒント/ベストプラクティスはありますか?
将来的にこれをサポートするためにいくつかの作業が進行中のようです:
https://github.com/fish-shell/fish-shell/issues/478
https://github.com/xiaq/fish-shell/tree/opt-parse
しかし、それまでの間、これに対処するための推奨される方法は何ですか? $argv を解析するだけでよいのでしょうか? もしそうなら、いくつかのヒント/ベストプラクティスはありますか?
あなたはこれを行うことができます:
for item in $argv
switch "$item"
case -f --foo
case -b --bar
end
end
上記は、単一の引数-fbz
、オプション値--foo=baz
、--foo baz
またはf baz
、負の代入--name!=value
、オプションの終わり、--
およびダッシュ-
での短いオプションの記述をサポートしておらず--
、常に引数の一部です。
これらの問題に対処するために、getopts関数を作成しました。
getopts -ab1 --foo=bar baz
次に、出力を見てください。
a
b 1
foo bar
_ baz
左側の項目は、CLI に関連付けられたオプション フラグまたはキーを表します。右側の項目はオプション値です。アンダースコア_
文字は、キーのない引数のデフォルトのキーです。
read(1)
生成されたストリームを処理し、switch(1)
パターンを照合するために使用します。
getopts -ab1 --foo=bar baz | while read -l key option
switch $key
case _
case a
case b
case foo
end
end
ドキュメントを参照してください。