O texto padrão do prompt da janela do terminal ocupa muito espaço (acho que o nome do meu computador é muito longo).
Posso personalizar isso?
Sim, é personalizável com a PS1
variável de ambiente.
Você pode configurá-lo colocando algo assim no seu arquivo .bash_profile
ou .profile
:
PS1="your prompt"
Se você deseja um prompt do bash muito simples que não ocupa muito espaço (o que parece ser o que você está procurando), você pode configurá-lo apenas para mostrar o diretório atual, assim:
PS1="\w "
Essa \w
é uma das muitas sequências de escape do PS1 do bash . Este expande para o diretório atual.
Este é o meu arquivo / etc / prompt, que eu forneço em / etc / profile. Ele usa cores por nome, nome da máquina, nome do diretório, cores dependendo do usuário e é principalmente uma cópia sem vergonha de algumas partes da página de manual do 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
é o nome da minha máquina, substitua-o pelo seu. É comum o uso de cores diferentes (vermelho para raiz) e prompts (> para usuário, # para raiz) para usuários normais e superusuários. Se você costuma usar ssh, o nome da máquina é útil e com cores diferentes, se você usar apenas 2-3 hosts diferentes.
Tenho uma cor diferente para o usuário 'postgresql' ou 'oracle', mas não preciso mais disso com frequência.