/ / Bashの文字列の置換(小文字へ)4.3.33 - 不正な置換エラー - 文字列、bash、置換、置換、小文字

Bash 4.3.33の文字列置換(小文字に変換) - 不正な置換エラー - 文字列、bash、置換、置換、小文字

bashの文字列置換を使って大文字を小文字に変更しようとしていますが、誤った置換エラーが出ます。

> a=HEY
> echo $a
HEY
> echo ${a,,}
-bash: ${a,,}: bad substitution
# desired output is hey

私はこれに似た質問を見ましたが、ほとんどの場合、以前のバージョンのbashを使用することになりました。私はGNU bash 4を使用していて、同じ問題を抱えています。

> bash --version
GNU bash, version 4.3.33(1)-release (x86_64-apple-darwin14.1.0)

これはおそらくMacのものでしょうか?どんな助けもありがとう。

回答:

回答№1は2

最初のbashのように見える PATH 4.3.33になりますが、あなたがインタラクティブセッションで実行しているbashはおそらく古いバージョンです。 echo "$BASH_VERSION" チェックする。

上記が正しい場合は、

type bash

おそらく次のような新しいバージョンのパスを見ることができます /opt/local/bin/bash。私はそれを仮定します。ログインシェルにしたい場合は、まずそれを/ etc / shellsに追加してください

sudo -e /etc/shells

その後、ユーザは、ログインシェルとしてそのユーザを選択することができます。 chshchアンジュ shell)コマンド

chsh -s /opt/local/bin/bash

回答№2の場合は0

私のコメントのコメントに基づいて、これは答えです:

echo $a | tr "[:upper:]" "[:lower:]"