
dash
デフォルトのシェルを使用してサーバーにログインすると、次のプロンプトが表示されます。
\[\033[1;31m\]\u\[\033[0m\]@:\w #
このような内容を表示するようにサーバーを構成するにはどうすればよいですか?
user@hostname!dash!/path/$
これを入れる必要がある場合は、どのようにしてこのクールなシェルを.profile
他のシェルに保存できますか?bash
zsh
(私のサーバーに.profile
シンボリックリンクがあります.bashrc
)
答え1
Dashは、スクリプトをすばやく実行するための最小限のシェルとして設計されています。快適なインタラクティブな使用は設計目標ではありません。素晴らしいヒントが必要な場合は、インタラクティブな使用のために設計されたシェル(zsh、fish、または少なくともbash)を使用してください。表示されるエスケープシーケンスは bash で動作します。
Dash はプロンプトから変数を拡張するため、これらのプロンプトの設定や.profile
オーバーライドなどの操作を行うことができます。.bashrc
.zshrc
: "${USER=$(id -un)}" "${HOSTNAME=$(uname -n)}"
if [ $0 = "-sh" ]; then
export PS1='$USER@$HOSTNAME!$0!:$PWD/\$ '
fi