Где находится метка времени в этом скрипте, которая устанавливает приглашение?

Я столкнулся с этим старым сообщением, которое я считаю полезным. Теперь я стараюсь, но напрасно, чтобы сообщить, какая часть из них отвечает за печать метки времени в конце тире.

Ниже приведен скрипт для упрощения ссылки:

# Fill with minuses # (this is recalculated every time the prompt is shown in function prompt_command): fill="—- " reset_style='\[\033[00m\]' status_style=$reset_style'\[\033[0;90m\]' # gray color; use 0;37m for lighter color prompt_style=$reset_style command_style=$reset_style'\[\033[1;29m\]' # bold black # Prompt variable: PS1="$status_style"'$fill \t\n'"$prompt_style"'${debian_chroot:+($debian_chroot)}\u@\h:\w\$'"$command_style " # Reset color for command output # (this one is invoked every time before a command is executed): trap 'echo -ne "\e[0m"' DEBUG function prompt_command { # create a $fill of all screen width minus the time string and a space: let fillsize=${COLUMNS}-9 fill="" while [ "$fillsize" -gt "0" ] do fill="-${fill}" # fill with underscores to work on let fillsize=${fillsize}-1 done # If this is an xterm set the title to user@host:dir case "$TERM" in xterm*|rxvt*) bname=`basename "${PWD/$HOME/~}"` echo -ne "\033]0;${bname}: ${USER}@${HOSTNAME}: ${PWD/$HOME/~}\007" ;; *) ;; esac } PROMPT_COMMAND=prompt_command

Любой намек?

3
задан 23 December 2017 в 02:15

3 ответа

Это \t в этой строке, которая составляет все приглашение, включая переменные (в том числе fill, которые дают тире), которые были назначены:

PS1="$status_style"'$fill \t\n'"$prompt_style"'${debian_chroot:+($debian_chroot)}\u@\h:\w\$'"$command_style "

В PS1 \t - это escape-последовательность Bash, которая печатает текущее время.

Тест:

zanna@toaster:~$ PS1="\t"
21:33:06
6
ответ дан 22 May 2018 в 16:52
  • 1
    Спасибо, бутон! Никогда не думал, что \t, который я всегда вижу как вкладку, окажутся штампом времени! – joker 21 December 2017 в 01:59
  • 2
    @joker ikr! Быстрые коды странные. Добавлена ​​ссылка на один из многих документов (Arch Wiki - потрясающий imho). – Zanna 21 December 2017 в 02:15

Это \t в этой строке, которая составляет все приглашение, включая переменные (в том числе fill, которые дают тире), которые были назначены:

PS1="$status_style"'$fill \t\n'"$prompt_style"'${debian_chroot:+($debian_chroot)}\u@\h:\w\$'"$command_style "

В PS1 \t - это escape-последовательность Bash, которая печатает текущее время.

Тест:

zanna@toaster:~$ PS1="\t" 21:33:06
6
ответ дан 18 July 2018 в 00:45

Это \t в этой строке, которая составляет все приглашение, включая переменные (в том числе fill, которые дают тире), которые были назначены:

PS1="$status_style"'$fill \t\n'"$prompt_style"'${debian_chroot:+($debian_chroot)}\u@\h:\w\$'"$command_style "

В PS1 \t - это escape-последовательность Bash, которая печатает текущее время.

Тест:

zanna@toaster:~$ PS1="\t" 21:33:06
6
ответ дан 24 July 2018 в 17:16

Другие вопросы по тегам:

Похожие вопросы: