Bashでの文字列置換が上手く行きません
Q&A
Closed
解決したいこと
Bashで文字列置換を行う際に、置換されずにそのまま出力されてしまいます。
sedを使う手もあるのですが、出来ればbash置換で済ませたいです。
発生している問題・エラー
エラーはありません
該当するソースコード
Bash
$ echo $PWD
/home/user/git
$ PWD_SHORT="${PWD/${HOME}/~}"
$ echo $PWD_SHORT
/home/user/git # ~/git を期待していた
自分で試したこと
$HOME
に/
が含まれているのがいけないのかと思い、以下のように実行してみたが解決せず。
試行1
$ echo $PWD
/home/user/git
$ HOME_REPLACED="${HOME//\//\\/}"
$ echo ${PWD/${HOME_REPLACED}/~}
/home/user/git
試行2
$ echo $PWD
/home/user/git
$ echo ${PWD/\/home\/user}
/home/user/git
0