~によるとこのStackOverflow投稿、KornShellにカラープロンプトがある可能性があります。私は何をすべきか分からなかった。色を使用できます。
echo -e "\033[34mLinux\033[00m"
以下のように青い「Linux」出力が提供されます。
printf "\033[34mLinux\033[00m"
PS1
ただし、エスケープコードをプロンプト変数に統合すると、エスケープされません。カラーチップを入手するにはどうすればよいですか?ビューには魅力的であるだけでなく、出力を視覚的に分析するのにも便利なカラーヒントがあります。
答え1
リテラルEsc文字を使用してCtrl-をv入力します(画面にEsc表示されます)。^[
PS1="^[[34mLinux^[[00m"
echo
または、動作するコマンドの出力を使用します。
PS1="$(echo -e "\033[35mLinux\033[00m")"
答え2
PS1
変数にリテラルエスケープ文字を入れる必要があります。 Ksh88、pdksh、mksh(旧バージョン)などのレプリカには、組み込み機能を除いて制御文字のリテラル構文はありませんprint
。 Mkshはエスケープを理解しています\e
が、pdkshは8進コードを期待しています\033
。
PS1=$(print '\033[34mLinux\033[00m')
ATT ksh93ではバックスラッシュでエスケープされたリテラル構文を導入しました$'…'
(R39b以降mkshでも使用可能)。バックスラッシュエスケープを使用して、これらのリテラルに制御文字を入れることができます。
PS1=$'\e[34mLinux\e[00m'
答え3
私はmksh
ユーザーのためにこれを使いますshell
:
# custom prompt see http://comments.gmane.org/gmane.os.miros.mksh/126
PS1=$'\a\r\a\e[1;34m\a ^ ^ ^ ^ | \a\e[36m\a${USER:=$(ulimit -c 0; id -un 2>/dev/null || echo
\?)}@${HOSTNAME%%.*}\a\e[34m\a | ^ ^ ^ ^ | \a\e[0;33m\a$(local d=${PWD:-?} p=~; [[ $p = ?(*/) ]] || d=${d/#$p/~};
print -nr -- "$d")\a\e[1;34m\a |\n ^ ^ ^ ^ | \a\e[32m\a$(date +%H:%M)\a\e[34m\a | ^ ^ >>\a\e[0m\a '
&は少し異なりますshell
。root
PS1=$'\a\r\a\e[1;34m\a ^ ^ ^ ^ ^ \a\e[31m\a${USER:=$(ulimit -c 0; \
id -un 2>/dev/null || echo \?)}@${HOSTNAME%%.*}\a\e[34m\a ^ ^ ^ ^ ^ ^ ^ \a\e[0;33m\a$(
local d=${PWD:-?} p=~
[[ $p = ?(*/) ]] || d=${d/#$p/~}
print -nr -- "$d"
)\a\e[1;34m\a ^ ^ \n ^ ^ ^ ^ ^ \a\e[32m\a$(date +%H:%M)\a\e[34m\a ^ ^ ^ ^ \a\e[0m\a '
特殊文字はコピーされないためこれはペーストビンペーストです。一般ユーザーとrootユーザーの場合。
答え4
以前の答えと他のソースのおかげで、次のような結果が得られました。
Korn シェルプロンプト:
PS1="$(echo "\033[32m`logname`\033[35m@\033[32m`hostname` \033[33m`pwd`\033[36m\n\$\033[0m")"
打撃の大きいヒント:
PS1="\[\e[32m\]\u\[\e[35m\]@\[\e[32m\]\h \[\e[33m\]\w\[\e[36m\]\n\$\[\e[0m\]"
彼らは次の形式で同じ色のヒントを提供します(例えば、私はQueen's Englishを使用しています)。
username@computername /current/working/directory
$
DOSと同等の機能(カラーオプションはありません)は次のとおりです。
prompt %username%@%computername% $P$_$G
これは作る:
username@computername /current/working/directory
>
">"は"$"を使用して"nixy"の代わりに"DOSsy"のままにします。ただし、刻印(「$」)が必要な場合は、次のようになります。
prompt %username%@%computername% $P$_$$
ログインアカウントに必要な権限がある場合は、「nixies」の前に「export」を永久に追加できます。
export PS1="..."
DOSsyを次に変更します。
setx PROMPT "%username%@%computername% $P$_$G"
または
setx PROMPT "%username%@%computername% $P$_$$"