GNU/Linux >> Linux の 問題 >  >> Linux

bashプロンプトに現在のディレクトリ名のみを表示します(フルパスではありません)

09 を変更します (小文字) から 17 (大文字):

PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\[email protected]\h\[\033[00m\]:\[\033[01;34m\]\W\[\033[00m\]\$ '
                                                                                       ^^
           this one waaaaaay over here ------------------------------------------------+    

Bash Prompt HOWTO を見て、たくさんの楽しい詳細を確認してください。例:

[email protected]:/usr/local/bin$ echo $PS1
${debian_chroot:+($debian_chroot)}\[\033[01;31m\]\[email protected]\h\[\033[00m\]:\[\033[01;36m\]\w\[\033[00m\]\$ 

[email protected]:/usr/local/bin$ export PS1='${debian_chroot:+($debian_chroot)}\[\033[01;31m\]\[email protected]\h\[\033[00m\]:\[\033[01;36m\]\W\[\033[00m\]\$ '

[email protected]:bin$

22 変数が設定されている場合、36 で指定されたプロンプトを表示する前に実行されるコマンドです。 .あなたの場合、49 51 を実行します Xterm のタイトルバーを操作する特定の ANSI エスケープ シーケンスを含むステートメント。

68 が疑われる場合 あなたの 71 を上書きしています プロンプト、89 できます それを試してみてください:

$ unset PROMPT_COMMAND

最後に、 99 を変更していることを確認してください 実際に使用される定義。一般的な場所は 104 です 、 112122130144 .通常、システム ファイルは (常にではありませんが) ユーザー ファイルの前に実行されます。


単純な bash 置換コマンドは

です
${VAR/pattern_to_find/pattern_to_replace}

最後のディレクトリを表示するには、 153 を実行するだけです 、つまり、最後の '168 の前および最後の '168 を含むすべてのものを検索します ' 何も置き換えません。

私が使用する私のubuntuマシンで:

export PS1='$(whoami):${PWD/*\//}#'. 

私の解決策は、5 つ以上のディレクトリがある場合、上位 3 つと下位 2 つのディレクトリを表示することです

したがって、私のプロンプト (他の情報も含まれています) は次のようになります:

08:38:42 durrantm U2017 /home/durrantm/Dropbox/_/rails/everquote

私の pwd が実際に

/home/durrantm/Dropbox/93_2016/work/code/ruby__rails/rails/everquote

私の PS1 プロンプトは次のように設定されています:

HOST='\[\033[02;36m\]\h'; HOST=' '$HOST
TIME='\[\033[01;31m\]\t \[\033[01;32m\]'
LOCATION=' \[\033[01;34m\]`pwd | sed "s#\(/[^/]\{1,\}/[^/]\{1,\}/[^/]\{1,\}/\).*\(/[^/]\{1,\}/[^/]\{1,\}\)/\{0,1\}#\1_\2#g"`'
BRANCH=' \[\033[00;33m\]$(git_branch)\[\033[00m\]\n\$ '
PS1=$TIME$USER$HOST$LOCATION$BRANCH

172 現在の git ブランチを表示する関数です。ドットファイルに保持しています。

git_branch () {
  git branch 2> /dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)/\1/'
  }

Linux
  1. Bashでコマンドが見つかりません修正されました

  2. Ps1のパスセパレータを強調表示しますか?

  3. ターミナルでファイルまたはディレクトリのフルパスを表示するにはどうすればよいですか?

  1. サブディレクトリではなく現在のディレクトリのみで「find」コマンドを実行する方法

  2. コアがダンプされましたが、コア ファイルが現在のディレクトリにありませんか?

  3. LinuxのNOTディレクトリのディレクトリ内のファイルのみを削除します

  1. Conda コマンドはコマンド プロンプトでは機能するが、bash スクリプトでは機能しない

  2. Ubuntu のターミナル プロンプトを設定して、フル パスではなく作業ディレクトリ名のみを表示します。

  3. Linuxのsh(bashではない)のコマンドプロンプトで現在のパスを表示するには?