''
$ VARが何かと一致する場合にのみbashパラメータ拡張を使用して置き換えることはできますか?'value'
正確に?
先頭を${VAR#value}
削除し、同様に最後から削除する構文があります。これは で置き換えられますが、 or のようなものであれば で置き換えることができますが、そのような場合には同じに保たなければなりません。value
$VAR
${VAR%value}
value
''
$VAR
value1
1value
1
ステートメントを使用してこれを実行できることを知っていますが、特定の値と同じ場合は表示されないif
ものをステートメントに追加しようとしています。これがパラメータ拡張や他の種類の内部拡張を使用する理由です。PS1
接続詞の構文。
ベストアンサー1
次のパラメータ拡張を選択できます$()
。
PS1='$( [[ "${VAR}" == value ]] || printf %s "${VAR}" )$ '
値から末尾の改行文字を削除します$VAR
。