2

Я новичок в bash и сценариях.

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

alias exit ="history > `date +%Y-%m-%d`.txt; exit"

но когда я перезагружаю мой bash, я получаю:

-bash: alias: exit: not found
-bash: alias: =history > 2015-09-22.txt; exit: not found

Почему это не работает? Должен ли я попробовать написать скрипт с циклом while?

3 ответа3

6

Bash имеет файл истории, который вы, вероятно, ищете. Попробуйте vim ~/.bash_history или cat ~/.bash_history . Это, вероятно, будет то, что вы ищете. Это местоположение файла истории для дистрибутивов Redhat, может быть в другом месте для других дистрибутивов ... но домашний каталог имеет смысл :)

4

Обрежьте пробел перед знаком равенства:

alias exit="history > `date +%Y-%m-%d`.txt; exit"
3

Посмотри на это. Похоже, в bash вы можете установить "ловушки", которые будут вызываться при возникновении событий. Попробуйте поставить это ваш .bashrc:

function show_history {
    history > `date +%Y-%m-%d`.txt
}
trap show_history EXIT

запустите help trap для получения дополнительной информации.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .