チルダもエスケープしないと無理みたいですね
pwd=/home/user/git; echo ${pwd/\/home\/user/\~};
# ~/git
(編集)
Like!
Bashで文字列置換を行う際に、置換されずにそのまま出力されてしまいます。
sedを使う手もあるのですが、出来ればbash置換で済ませたいです。
エラーはありません
$ echo $PWD
/home/user/git
$ PWD_SHORT="${PWD/${HOME}/~}"
$ echo $PWD_SHORT
/home/user/git # ~/git を期待していた
$HOME
に/
が含まれているのがいけないのかと思い、以下のように実行してみたが解決せず。
$ echo $PWD
/home/user/git
$ HOME_REPLACED="${HOME//\//\\/}"
$ echo ${PWD/${HOME_REPLACED}/~}
/home/user/git
$ echo $PWD
/home/user/git
$ echo ${PWD/\/home\/user}
/home/user/git
チルダもエスケープしないと無理みたいですね
pwd=/home/user/git; echo ${pwd/\/home\/user/\~};
# ~/git
(編集)
@alpaca-honke
Questioner@alpaca-honke
Questioner