
通常、私の端末プロンプトは次のようになります。
username place$
今は見せるだけです
bash-4.2$
すべての色設定が失われます。 (端末プロファイルに同じカラースキームがありますが、カラーは表示されません。)
何が起こっているのか分かりません(そしてこれを検索する方法もわかりません)。
最初から変更されました。 EclipseとMavenを使用しています。新しい端末を開いたが、新しい端末に色がない。
注:〜/ .bashrcファイルはありませんが、〜/ .bash_profileはあります。
答え1
プロンプト変数が設定されない可能性があるため、組み込みのデフォルト$PS1
値が使用されます。\s-\v\$
Bashがインタラクティブで起動されると、構成ファイル(通常は存在する~/.bashrc
か~/.bash_profile
仮定)がインポートされます。これは高度なプロンプトが設定される方法です。からman bash
:
呼ぶ
[...] bashが--loginオプションを使用して対話型ログインシェルまたは非対話型シェルとして呼び出されると、まず/ etc / profileファイル(ファイルが存在する場合)からコマンドを読み取り、実行します。ファイルを読み込んで見つけます。~/.bash_profile, ~/.bash_login,そして ~/.プロフィール、そのような順序で[… ]
[...]ログインシェルではなく対話型シェルを起動すると、bashは次のコマンドを読み込み、実行します。 ~/.bashrc,ファイルが存在する場合。
プロンプト設定の失敗は、ログインシェルと非ログインシェルの2つの状況で発生する可能性があります。ディスプレイマネージャを使用してGUIに直接ログインしている場合は、仮想コンソールに切り替えない限り(例:CtrlAlt+ F1からF6を介して)ログインシェルは発生しません。ただし、新しいログインシェルを明示的に開いて、GUIでbashログインプロファイルをテストできますbash -l
。
非ログインシェルの問題
一般的なGUI端末などで問題が発生した場合は、ファイルが欠落しているか、~/.bashrc
グローバルファイルのソースを除外するように編集されている可能性があります/etc/bashrc
。
存在しない場合は、新しいユーザー用に作成する必要が
~/.bashrc
あります。/etc/skel/.bashrc
このファイルをホームディレクトリにコピーすると、次に開く新しいシェルにデフォルトのプロンプトが表示されます。存在する場合は、
~/.bashrc
どこかにソースラインがあることを確認してください/etc/bashrc
。. /etc/bashrc -OR- source /etc/bashrc
存在しない場合は、ファイルが存在することを確認し(少なくともほとんどのLinuxディストリビューションに存在する必要があります)、次の行
~/.bashrc
を
ログインシェルの問題
ログインシェルと非ログインシェルの両方でこの問題が発生した場合、問題は上記と同じかもしれません。そのようなことが起こった場合ただログインシェルの場合、上記の引用に記載されているログインシェル用のファイルの1つが存在しないか、ほとんど~/.bashrc
のLinuxディストリビューションで一般的に提供されているファイルは取得されません。これらのファイルがない場合は、~/.bash_profile
そのファイルを作成します。
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
ほとんどの場合、これにより設定をファイル(~/.bashrc
)に保存できます。
何をしてもプロンプトが表示されない場合は、プロンプトを作成して~/.bashrc
次のように入力できます。
if [ "$PS1 ]; then
PS1= .... # see below
fi
これは、$PS1がすでに設定されており、対話型シェルのデフォルト値を持っているためです。他の場所でこの値を使用して、これが対話型環境であることを確認できるため、他の方法で設定したくないからです。
Bashのマニュアルページには、ユーザー名や現在の作業ディレクトリなどの動的機能を使用してプロンプトを設定する方法を説明するPROMPTINGセクションが含まれています。例:
PS1="\u \w:"
ガイドがありますここに色を使用してください。印刷されていない文字を\[
とで囲む必要があります\]
(この内容は色の答えの最後で説明されています)。
答え2
これを ~/.bashrc および ~/.bash_profile の影響を受けたユーザーのルートとして貼り付けてください。
# Source global definitions if [ -f /etc/bashrc ]; then . /etc/bashrc fi
答え3
セキュリティ上の理由から、Cygwin bashをアップグレードする必要がありました。
以前のbash = 4.1.10(4)-2009年頃リリース(i686-pc-cygwin)
$ echo $PS1
\[\e]0;\w\a\]\n\[\e[32m\]\u@\h \[\e[33m\]\w\[\e[0m\]\n\$
新しいbash = 4.4.12(3)-2016年頃リリース(i686-pc-cygwin)
まったく同じ外観と感触を得るには、以下を追加する必要があります.bashrc
。
#
GREEN="\[$(tput setaf 2)\]"
YELLOW="\[$(tput setaf 3)\]"
RESET="\[$(tput sgr0)\]"
PS1="\n${GREEN}\u@\h ${YELLOW}\w${RESET}\n$ "
cd $HOME
#
注:含まれていますcd $HOME
答え4
DBAがデータベースをインストールするためにoracleユーザーを作成しようとしたときに同じ問題が発生しました。彼はアイテムを変更するのではなく、一部のユーザープロファイルに必要なファイルを削除しました。
問題のない他のユーザーから次の基本ファイルをコピーして問題を解決しました。
/home/username/.bashrc
/home/username/.bashrc_profile
/home/username/.bashrc_logout
/home/username/.bashrc_history
このファイルの設定/テキストを変更する必要はありません。
セッションからログアウトしてもう一度ログインしてください。色とログインプロンプトを使用してデフォルトのシェル(通常はbash)を復元する必要があります。