Что это за плагин bash?

Раньше у меня был этот плагин в bash, который показывает текущее время после каждой вводимой команды. Я добавил это несколько лет назад, и я не помню, как я добавил это. Он также не указан в плагинах терминатора. Сейчас я переезжаю на новый ноутбук, и мне нужно снова установить этот плагин.

Кто-нибудь из вас знает об этом? Спасибо.

enter image description here

1
задан 28 August 2017 в 16:07

2 ответа

Этот сценарий добавит серую пунктирную линию с датой и временем в конце строки, затем это изменится на красный, если Вы будете работать как пользователь root:

enter image description here


Добавьте следующие строки к нижней части обоих /home/<username>/.bashrc и /root/.bashrc файлы (ПРИМЕЧАНИЕ: /root/.bashrc должен быть отредактирован с корневыми возможностями как sudo gedit /root/.bashrc):

if [ -f "$HOME/.bash_ps1" ]; then
    . "$HOME/.bash_ps1"
fi

Скопируйте и вставьте следующий код в новый названный файл /home/<username>/.bash_ps1:

# Fill with minuses
# (this is recalculated every time the prompt is shown in function prompt_command):
fill="--- "

reset_style='\[\033[00m\]'

# determine if root or not
a=$(id -u)
if [ "$a" = 0 ]
then
    # for root
    status_style=$reset_style'\[\033[1;31m\]' # bold red; use 0;37m for lighter color
    command_style=$reset_style'\[\033[1;31m\]' # bold red
else
    # for other users
    status_style=$reset_style'\[\033[0;90m\]' # gray color; use 0;37m for lighter color
    command_style=$reset_style'\[\033[1;29m\]' # bold black
fi
prompt_style=$reset_style

# Prompt variable:

PS1="$status_style"'$fill $(date +"%m/%d/%y ")\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 "\033[00m"' DEBUG

function prompt_command {
# create a $fill of all screen width minus the time string and a space:
let fillsize=${COLUMNS}-18
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

Затем, создайте ссылку в /root папка так, чтобы это назвало это при переключении на root пользователь:

sudo -s
cd /root
ln -s /home/<username>/.bash_ps1

В конце концов, сохраняется, теперь каждый раз, когда Вы открываете новое окно терминала, оно должно быть похожим на изображение выше. Метки времени появляются после нажатия, вводят в каждую команду, которую Вы вводите в терминал, помогающий прокручивать назад и видеть при выполнении той определенной команды.

Надеюсь, это поможет!

4
ответ дан 29 August 2017 в 02:07
  • 1
    Этот поток так стар, я больше не забочусь об этом. И Picard бесполезен. – Jennifer 27 January 2018 в 20:30

Это могло бы быть полезно. Другая возможность может быть oh-my-zsh.

я установил это, и я использую тему, rkj.

Это - то, как мой терминал выглядит,

┌─[luvpreet@DHARI-Inspiron-3542] - [~] - [2017-08-28 06:45:20]
└─[0] 

Во-первых он показывает текущему пользователю и имени хоста (luvpreet@DHARI-Inspiron-3542). Затем это говорит каталогу, что Вы находитесь в (~). Затем текущее время (2017-08-28 06:45:20). Затем код состояния предыдущей команды Вы работали (0(successful)).

можно проверить его здесь. https://github.com/robbyrussell/oh-my-zsh Там много других прохладных тем, доступных там.

0
ответ дан 29 August 2017 в 02:07
  • 1
    Это работало. Я добавил команду, которую я использовал. Спасибо! – Heuyie 17 October 2017 в 12:43

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

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