web-dev-qa-db-ja.com

ターミナルウィンドウのプロンプトテキストを変更することはできますか?

ターミナルウィンドウのデフォルトのプロンプトテキストがスペースを取りすぎています(コンピュータ名が長すぎると思います)。

これをカスタマイズできますか?

11
user27449

はい、PS1環境変数を使用してカスタマイズできます。

.bash_profileまたは.profileファイルに次のようなものを入れることで設定できます。

PS1="your Prompt"

スペースをまったくとらない非常に単純なbashプロンプト(探しているもののようです)が必要な場合は、次のように現在のディレクトリを表示するように設定できます。

PS1="\w "

\w多くのbash PS1エスケープシーケンス の1つです。これは現在のディレクトリに展開されます。

12
Wuffers

これは私の/ etc/Promptファイルです。これは/ etc/profileから取得します。これは、名前、マシン名、ディレクトリ名、ユーザーに応じた色で色を使用し、ほとんどの場合、bashのマンページの一部の恥知らずなコピーです。

#
# PROMPTING
#       When  executing  interactively, bash displays the primary Prompt PS1 when it is ready to read a command, and the sec-
#       ondary Prompt PS2 when it needs more input to complete a command.  Bash allows these Prompt strings to be  customized
#       by inserting a number of backslash-escaped special characters that are decoded as follows:
#              \a     an ASCII bell character (07)
#              \d     the date in "Weekday Month Date" format (e.g., "Tue May 26")
#              \D{format}
#                     the  format is passed to strftime(3) and the result is inserted into the Prompt string; an empty format
#                     results in a locale-specific time representation.  The braces are required
#              \e     an ASCII escape character (033)
#              \h     the hostname up to the first `.'
#              \H     the hostname
#              \j     the number of jobs currently managed by the Shell
#              \l     the basename of the Shell's terminal device name
#              \n     newline
#              \r     carriage return
#              \s     the name of the Shell, the basename of $0 (the portion following the final slash)
#              \t     the current time in 24-hour HH:MM:SS format
#              \T     the current time in 12-hour HH:MM:SS format
#              \@     the current time in 12-hour am/pm format
#              \A     the current time in 24-hour HH:MM format
#              \u     the username of the current user
#              \v     the version of bash (e.g., 2.00)
#              \V     the release of bash, version + patchelvel (e.g., 2.00.0)
#              \w     the current working directory
#              \W     the basename of the current working directory
#              \!     the history number of this command
#              \#     the command number of this command
#              \$     if the effective UID is 0, a #, otherwise a $
#              \nnn   the character corresponding to the octal number nnn
#              \\     a backslash
#              \[     begin a sequence of non-printing characters, which could be used to embed a terminal  control  sequence
#                     into the Prompt
#              \]     end a sequence of non-printing characters
#
#       The  command  number and the history number are usually different: the history number of a command is its position in
#       the history list, which may include commands restored from the history file (see HISTORY below),  while  the  command
#       number  is  the  position in the sequence of commands executed during the current Shell session.  After the string is
#
# colors:
# \[...\]   needed, so the Shell knows, that this isn't printable output, and newlines are placed at the right position.
#
# ANSI COLORS
CRE="\[
[K\]"
NORMAL="\[[0;39m\]"
# RED: Failure or error message
RED="\[[1;31m\]"
# GREEN: Success message
GREEN="\[[1;32m\]"
# YELLOW: Descriptions
YELLOW="\[[1;33m\]"
# BLUE: System messages
BLUE="\[[1;34m\]"
# Magenta: Found devices or drivers
Magenta="\[[1;35m\]"
# CYAN: Questions
CYAN="\[[1;36m\]"
# BOLD WHITE: Hint
WHITE="\[[1;37m\]"
#
# default:
# postgres, Oracle
#
# PS1=$BLUE"asux]->"$NORMAL\\w"$BLUE ø $NORMAL"
PS1=$BLUE"asux]:"$NORMAL\\w"$BLUE > $NORMAL"
#
# root, stefan:
#
case "$UID" in
    '0')
        PS1=$RED"asux:"$NORMAL\\w"$RED # $NORMAL"
    ;;
    '1000')
    PS1=$GREEN"asux:"$BLUE\\w$YELLOW" > "$NORMAL
    ;;
#    default)
#    ;;
esac

asuxは私のマシン名です。あなたのマシン名に置き換えてください。通常のユーザーとスーパーユーザーには、異なる色(ルートの場合は赤)とプロンプト(ユーザーの場合は>、ルートの場合は#)を使用するのが一般的な使用法です。 sshを頻繁に使用する場合は、マシン名が役立ちます。2〜3の異なるホストを使用する場合は、色が異なります。

ユーザー「postgresql」または「Oracle」の色が異なりますが、これ以上必要になることはほとんどありません。

screenshot of prompts by user

4
user unknown