Рыба — получить текущую команду оболочки

Я пытаюсь получить текущую команду оболочки (не $history[1]!), в частности, я хотел бы иметь возможность заменить fish_title - (pwd) на определенные запущенные программы, т.е. python, если я в интерактивной оболочке, vim и т. д.


person user3467349    schedule 02.02.2015    source источник


Ответы (2)


Из документации:

Первый аргумент fish_title будет содержать последнюю выполненную команду переднего плана в виде строки, начиная с fish 2.2.

Так просто

function fish_title
  echo $argv (set -q SSH_CONNECTION; and hostname)":" $PWD
end

должно сработать.

person faho    schedule 29.09.2015

Из документации Специальные переменные

_, имя выполняемой в данный момент команды.

Функция по умолчанию fish_title уже делает это, не так ли?

function fish_title
    echo $_ " "
    set -q SSH_CONNECTION; and echo (hostname)":"
    pwd
end
person glenn jackman    schedule 02.02.2015
comment
Кажется, я получаю непонятные результаты с $_ ' ', когда дело доходит до строки заголовка. - person user3467349; 02.02.2015
comment
В отличие от $history[1] - $_ не содержит аргументов, поэтому ряд процессов, запущенных с помощью sudo, просто покажет sudo. - person user3467349; 25.02.2015