0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【小ネタ】Zsh/Bash での pwdコマンド(フルパスの表示)の出力に $HOME が含まれる場合に ~ を使った表記にする

Last updated at Posted at 2025-07-21

今回の内容

Zsh/Bash での pwdコマンド(フルパスの表示)の出力に $HOME が含まれる場合に、 ~ を使った表記にするという方法の話です。

コマンド

今回の結果を得られるコマンドの一例は、以下になります。

echo "${PWD/#$HOME/~}"

この後で、内容を補足します。

コマンドに関する補足

PWD/【Users や home】/【username】/【続きのパス】 という内容になり、 HOME/【Users や home】/【username】 という内容になります。

そして 【処理対象の文字列】/#【置きかえ対象の文字列】/【置きかえ後の文字列】 という部分は、 # が使われていることにより、「 【処理対象の文字列】 から先頭一致で 【置きかえ対象の文字列】 を探し、 【置きかえ後の文字列】 に置きかえる」という挙動になります。

それで、 PWD/【Users や home】/【username】/【続きのパス】 という文字列に対して、 HOME/【Users や home】/【username】 となる文字列が ~ に置き換わります。
その結果、 ~/【続きのパス】 となる文字列が出力されるという仕組みです。

(補足説明が見づらい感じになってる...)

実際に試した例

以下は、実際に試した例です。水色の矩形の部分は 【Users や home】/【username】 にあたる部分です。その部分が、 echo "${PWD/#$HOME/~}" というコマンドを使ったことで、 ~ になることが確認できました。

image.png

参照した情報

●Shell scriptにおける, '', "", , ``, $()まとめ #Terminal - Qiita
 https://qiita.com/shyum/items/6bbdef9b7474cea1622b

●【pwd】Linuxでカレントディレクトリを表示するコマンド | UX MILK
 https://uxmilk.jp/27622

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?