мне нужно просмотреть определенную строку в файл журнала время от времени:Может ли команда/псевдоним быть переменной?
$ head -10 log.txt|tail -1 # to view line 10 of log.txt
Тогда я написал функцию v
в моей bashrc
, чтобы сделать жизнь проще:
$ v 10
Хорошо, может быть, я «м немного секущихся волос здесь: Я хотел бы игнорировать пространство тоже:
$ v10
единственный способ я знаю, чтобы определить множество псевдонимов:
alias v1='v 1'
alias v2='v 2'
alias v3='v 3'
alias v4='v 4'
...
Есть ли хороший способ для этого?
Спасибо @Chirlo и @anishsane за идею.
Вот мой окончательный вариант, основанный на @ anishsane с некоторыми исправлениями:
eval "`declare -f command_not_found_handle | sed s/command_not_found_handle/command_not_found_handle_orig/`"
command_not_found_handle(){
if expr match "$1" "v[0-9][0-9]*" >/dev/null ; then
v ${1:1}
return $?
fi
command_not_found_handle_orig "[email protected]"
}
Ubuntu предоставляет по умолчанию реализацию функции 'command_not_found_handle'' bash', я считаю. – chepner
Спасибо за информацию :) – anishsane