いくつかのコードを調整し、可能なオプションを処理する必要があります。関数を実行するか、ヘルプオプションを使用して簡単な説明を提供してください。
activate-jet ()
{
local iarg=0 narg="$#"
while (( narg > 0 )); do
opt="$1" ; iarg=$(( iarg + 1 ))
case $opt in
("-h"|"--help") echo "TODO" ; return ;;
(*) break ;;
esac
done
}
可能であれば、呼び出し時にユーザーに奇妙な動作を引き起こすことなく、より単純化したいと思います。
ベストアンサー1
あなたが言ったように、これは可能性がありますあなたはただ必要です一つディスカッションしたがって、屋根や「パッキング」は必要ありません。
$ activate_jet() {
[[ "$#" -gt 1 ]] && echo "Invalid number of arguments" && return
if [[ ! -z "$1" ]]; then
if [[ "$1" = "-h" || "$1" = "--help" ]]; then
echo "TODO" && return
else
echo "Bad argument" && return
fi
fi
echo "jet activated"
}
$ activate_jet foo bar
Invalid number of arguments
$ activate_jet foo
Bad argument
$ activate_jet -h
TODO
$ activate_jet --help
TODO
$ activate_jet
jet activated
これで関数名を変更してハイフンを下線に変更しました。activate_jet
代わりにactivate-jet
ハイフンのため一部のシェルと互換性がない可能性があります:
結論として
- ハイフンは非標準です。シェル間の互換性が必要な場合は遠ざけてください。
- ハイフンの代わりに下線を使用してください。下線はどこでも許可されます。