コンソールで私のCWDが何であるかを確認するために、~/.bash_profileに次のものを追加します.
export PS1='$(pwd)$ '
したがって、pwd
結果は$
シンボルの前に表示されます。本当に良いです。
しかし、名前が長いディレクトリに入ると、次のようになります。/var/www/vhosts/beta.sitename.co.uk/httpdocs/sites/beta.sitename.co.uk/modules/bundles
コマンドプロンプトに次のように表示されます。
.co.uk/modules/bundles$ sitename.co.uk/httpdocs/sites/beta.sitename.
これにより、シェルがほとんど使用できなくなります。切り取り、最後の部分またはディレクトリ名だけを保持することは可能ですか? 30文字だとしましょう。
pwd
cd
それとも、各コマンドの後に印刷して、私がどこにいるのかを知ることができるようにする方が良い考えですか?これはエイリアスを使用して行うことができます。
答え1
私の場合、.bashrc
PS1は現在の作業ディレクトリの最後のコンポーネントを表示するように設定されています。これは次の方法\W
で行うことができます(PS1はいくつかの特別なシーケンスと変数を受け入れます)。あなたの場合は次のとおりです。
$ export PS1='\W$'
man bash
これらのシーケンスの詳細は、atで見つけることができますPrompting
。ねえ。\w
フルパスを使用することもできますが、$HOME
短縮されます~
(これにより、ほとんどのパスが短縮されます)。文字数の制限を設定したい場合は、次のように使用できます。
$ export PS1='$(pwd | tail -c30)$' # Limited to 30 characters
$ export PS1='...$(pwd | tail -c30)$'
...または少し恥ずかしさを感じる場合もあります。
$ export PS1='${PWD: -30}$'
$ export PS1='${PWD:(-30)}$'
$ export PS1='...${PWD: -30}$'
$ export PS1='...${PWD:(-30)}$'