Канонический ответ - создать сценарии, содержащие эти команды.
Редактировать Предположим, у вас есть следующие записи истории;
find /var/www -name '*.html' -exec fgrep '<title>' {} /dev/null \;
find ~/public_html -name '*.php' -exec fgrep include {} /dev/null \;
... вы можете попытаться выделить параметры в функцию, подобную этой;
r () {
find "$1" -name "*.$2" -exec fgrep "$3" {} /dev/null \;
}
... которую вы могли бы использовать таким образом, чтобы повторить записи истории сверху:
r /var/www html '<title>'
r ~/public_html php include
Очевидно, что в этом случае шаг не будет очень долгим для создания правильного сценария со значениями по умолчанию, проверкой параметров и т. Д. (Совет: вы можете с пользой использовать по умолчанию текущий каталог для пути и без расширения для имени файла, и добавить такие опции, как --path
и --ext
, чтобы переопределить значения по умолчанию, когда вы захотите, тогда в скрипте будет только один обязательный аргумент.)
Как правило, вы должны хранить скрипт в $HOME/bin
и убедиться, что этот каталог добавлен в ваш PATH
из вашего .profile
или аналогичного. Для функций они обычно определяются в .profile
или в отдельном файле, который source
d из этого файла.
Наличие этого в центральном месте также помогает развивать это; например, для точности и, возможно, некоторой незначительной дополнительной эффективности, вы можете добавить -type f
к команде find
; теперь есть только одно место, которое нужно запомнить для редактирования, и вы исправите его навсегда.