Сначала попробуйте установить для файла разрешение на выполнение:
chmod 775 petalinux-v2017.1-final-installer.run
./petalinux-v2017.1-final-installer.run
рыбы отслеживают, но еще не отображают временные метки истории. См. issue # 677 - там есть несколько дополнительных скриптов для анализа файла истории.
fish не поддерживает раскрытие истории восклицательных знаков, потому что синтаксис трудно запомнить, и он часто вызывается по ошибке. Вы можете следить за обсуждением в # 288 . Обычно вы начинаете вводить команду и принимаете автоматическое предложение, когда оно появляется (стрелка вправо или ctrl-F). Другой вариант - ввести часть команды и использовать стрелку вверх для циклического перехода между соответствующими элементами истории.
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).