私は現在、プロンプトがシェルのフルカラーとは異なる色になるように端末を変更しようとしています。
OS X 10.10デスクトップとUbuntu 14.10サーバーでこれを行いたいと思います。
私が知っている唯一の方法はを修正することです$PS1
。
これを行うには、ログイン時にシェルがソースとして使用するスクリプトに入れる必要があります。そうですか?
/bin/sh
しかし、OSでは
今知っていますsu - <user>
。しかし、動作するにはそれが必要ですsu <user>
。
私できるrootユーザーのログインシェルを変更しますが、代わりに。
これまでに私が見つけたものは次のとおりです。
bash
ソースとして呼び出し、bash
ソースとしてログインしますsu -
。
/etc/profile
/etc/bashrc
~/.profile
bash
ソースとして呼び出し、bash
ソースとしてログインしますsu
。
~/.bashrc
bash
ソースとして呼び出し、sh
ソースとしてログインしますsu -
。
/etc/profile
/etc/bashrc
~/.profile
bash
ソースとして呼び出してsh
ログインすると、su
何も生成されません。
ハイジャックも試しましたが、$PROMPT_COMMAND
呼び出すとクリアされますsu
。
存在するバッシュマニュアルそれは言う:
名前shで呼び出す
sh
Bashが名前で呼び出されると、POSIX規格に準拠しながら履歴バージョンの起動動作をできるだけ似て模倣しようとします。sh
このオプションを使用して対話型ログインシェルまたは非対話型シェルとして呼び出されると、まずコマンドを順番に読み込んで
--login
実行しようとします。このオプションを使用すると、この動作を抑制できます。というインタラクティブシェルを呼び出すと、Bashは変数を探し、その値が定義されている場合は展開し、拡張値を読み取り、実行するファイル名として使用します。 asを呼び出すシェルは他の起動ファイルからコマンドを読み込んで実行しようとしないため、このオプションは効果がありません。この名前で呼び出された非対話型シェルは、他の起動ファイルを読み取ろうとしません。/etc/profile
~/.profile
--noprofile
sh
ENV
sh
--rcfile
sh
呼び出されると、
sh
Bash は起動ファイルを読み込んで POSIX モードに入ります。
では…設定できる方法はないでしょうか$ENV
?
単に呼び出す前に設定することはsu
効果がありません。
$PS1
それとも、UIDが変更されたとき(完全にログインしているかどうかにかかわらず)を使用したり、su - ...
ルートのログインシェルを変更したり、su
/を使用せずにUIDを変更したりする他の方法はありますかbash
?
答え1
su -c bash
入力が多すぎる場合は、別名を作成してください。
plainは初期化ファイルをロードしないことを正しく分析したので、su
構成またはコマンドを変更する必要があります。
答え2
私は個人的にMacで使用しており、Ubuntuサーバーでも動作します。しかし、2つのファイルを編集しました。
rootの.profileに私が入れました。
PS1="\[\033[1;31m\]\u\[\e[m\]@\h \[\e[0;32m\]\w\[\e[m\] \$ " # Root
私の個人ユーザーの.bash_profileを入力してください。
PS1="\[\033[1;32m\]\u\[\e[m\]@\h \[\e[0;32m\]\w\[\e[m\] \$ " # User
効果は次のとおりです。
ここですべての色を見つけることができます。http://blog.taylormcgann.com/tag/prompt-color/
しかし、あなたの場合は、このソリューションを使用する必要があると思います。 https://unix.stackexchange.com/a/174/50145