GNU Screen のタイトル付けの目的で、親の名前をプレフィックスとして付けた現在のディレクトリ名を取得したいと思います。たとえば、ディレクトリ内
/home/rhys/share/pkgconfig
/home/rhys
/home
/
出力の生成
share/pkgconfig
home/rhys
home
/
Bashでは、次のような推測から始めます
echo $(basename $(dirname $PWD))/$(basename $PWD)
より良い解決策にたどり着くことができます
echo $(basename "${PWD%/*}")/${PWD##*/}
生成されるプロセスが 2 つ少ないため、より適切に言えます。
誰も使用を避けるためのかわいいトリックを持っていbasename
ますか? これは、すべてのシェルプロンプトを実行するためのものであるため、できるだけ軽量であるとよいでしょう。