4

スクリプトを使用して、親のBashシェルのプロンプトを変更しました。私は以下を試しました:

PS1="Hello World > "

これにより、スクリプトが実行されているサブシェルのプロンプトが変更されますが、親シェルのプロンプトを変更するためにどのコマンドを使用しますか。何か案は?

4

3 に答える 3

5

すべての場合において、親シェルは協力する必要があります。UNIX環境の子プロセスは、その協力なしに親プロセスに影響を与えることはできません。

サブシェルスクリプトでこれを試してくださいchangePrompt.sh

echo 'PS1="Hello World > "'

次に、次のように親シェルからスクリプトを呼び出します。

eval "$(changePrompt.sh)"

または、別のアプローチ:スクリプトを呼び出す代わりにソースします。 changePrompt.sh

PS1="Hello World > "

このように呼んでください:

source changePrompt.sh

または単に:

. changePrompt.sh
于 2012-04-03T14:16:49.947 に答える
1

.bash_rcファイルを必要なもので編集する必要があります...PS1="blah"などを直接追加してください。

.bash_rcファイルは、ホームディレクトリ/ user / homeなどにある必要があります(「ls-la」のように非表示になっています)

編集したら、ソースを作成すると、機能するはずです(ソース.bash_rc)-同じディレクトリを想定しています

それが機能しない場合は、.rcファイルを試してください....これはすべてのシェルでシステム全体です(または少なくともそうする必要があります).....詳細については、ここを試してください。

http://www.cyberciti.biz/tips/howto-linux-unix-bash-shell-setup-prompt.html---ここ

于 2012-04-03T10:10:12.520 に答える
0

エイリアス~/.bashrcまたは~/.bash_aliases)も良い方法です。プロンプトを今すぐ変更するだけの場合は...

alias miniprompt="PS1='\[\e[32;1m\]$>\[\e[0m\]'"
alias fullprompt="PS1='\u\[\e[34;1m\]@\[\e[36;1m\]\H \[\e[34;1m\]\w\[\e[32;1m\] $ \[\e[0m\]'"

ここに画像の説明を入力してください

于 2018-10-09T12:10:45.027 に答える