Почему нет номера команды и отметки времени для рыбы?

Сначала попробуйте установить для файла разрешение на выполнение:

chmod 775 petalinux-v2017.1-final-installer.run
./petalinux-v2017.1-final-installer.run
0
15.05.2016, 15:55
2 ответа

рыбы отслеживают, но еще не отображают временные метки истории. См. issue # 677 - там есть несколько дополнительных скриптов для анализа файла истории.

fish не поддерживает раскрытие истории восклицательных знаков, потому что синтаксис трудно запомнить, и он часто вызывается по ошибке. Вы можете следить за обсуждением в # 288 . Обычно вы начинаете вводить команду и принимаете автоматическое предложение, когда оно появляется (стрелка вправо или ctrl-F). Другой вариант - ввести часть команды и использовать стрелку вверх для циклического перехода между соответствующими элементами истории.

2
28.01.2020, 02:20

Fish теперь поддерживает отметки времени во встроенной команде history, если вы выполняете ее с параметром - show-time .

(Вы должны использовать Fish версии не ниже 2.4, выпущенной в октябре 2016 г.)

Согласно исходному примеру, вы можете указать формат следующим образом:

$> history --show-time='%h/%d - %H:%M:%S '

или сохранить его в функции (без использования псевдонима здесь потому что 1. рекурсивный и 2.long):

# ~/.config/fish/functions/history.fish

function history
    builtin history --show-time='%h/%d - %H:%M:%S ' | tail -r
end

Я добавляю дополнительную трубу в tail-reverse, чтобы она читалась сверху вниз, как это делает bash history .

Добавьте это к своим функциям рыбы, и этого должно быть достаточно для вас.

___

Не существует способа распечатать «индекс истории» (какому «номеру строки» соответствует данная команда). Для сравнения, вот мой предпочтительный формат истории bash:

  228  01/05/17 14:47:53 $> history
  229  01/05/17 14:48:11 $> vim .bash_profile
  230  01/05/17 14:48:42 $> source .bash_profile
  231  01/05/17 14:48:45 $> history
  232  01/05/17 15:15:29 $> ls
  233  01/05/17 15:15:30 $> clear
  234  01/05/17 15:15:32 $> history

и соответствующая история рыбы за то время, когда я писал этот пост:

  01/05/17 15:05:53 $> vim history.fish
  01/05/17 15:10:01 $> man history
  01/05/17 15:14:50 $> history | tail -r | less
  01/05/17 15:15:01 $> history | tail -r
  01/05/17 15:15:11 $> ls
  01/05/17 15:15:14 $> vim history.fish
  01/05/17 15:15:41 $> history

Честно говоря, это достаточно близко, чтобы быть честным.

___

ОБНОВЛЕНИЕ: немного подумав, вы можете продолжать передавать результат, чтобы получить эти номера строк. Он не будет идеальным (многострочные команды будут считаться новой «строкой» для каждой введенной строки), но он даст вам почти все, что вам нужно от истории для рыбы, подобной bash. Вот мой последний файл history.fish :

function history
    builtin history --show-time='%m/%d/% %T $> ' | tail -r | less -N +G
end

less -N дает номера строк, а less + G запускает файл внизу (так что вы автоматически смотрите на самые последние записи).

tail -r совместим только с системами на базе FreeBSD (включая Mac OS X), но вы можете использовать аналогичные альтернативы, такие как tac (и gtac, если вы используете GNU coreutils).

3
28.01.2020, 02:20

Теги

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