次のbashコードで長いvalueX文字列を分割するにはどうすればよいですか?
case "$1" in
value1|value2|value3|...........more values..................| valueN)
some_processing "$@"
;;
...
esac
別々の行に分割することを探しています。Mbのような:
VAL+=value1
VAL+=value2
....
次のbashコードで長いvalueX文字列を分割するにはどうすればよいですか?
case "$1" in
value1|value2|value3|...........more values..................| valueN)
some_processing "$@"
;;
...
esac
別々の行に分割することを探しています。Mbのような:
VAL+=value1
VAL+=value2
....
マニュアルページから:
case コマンドは最初に単語を展開し、パス名の展開と同じ一致ルールを使用して、各パターンと順番に一致させようとします[.]
つまり、正規表現ではなくグロブ パターンです。そのため、パターン トークン間で IFS を使用できます。例えば:
case "$1" in
value1 | \
value2 )
:
;;
esac
パイプ記号が自動的に行を継続する通常の場合とは異なり、バックスラッシュで行継続をエスケープする必要があることに注意してください。それ以外は、プロンプトと同じ方法で行を分割できます。