Существует несколько способов автоматически выполнить что-то после определенной команды:
Создайте функцию, названную в честь Вашей определенной команды, и выполните определенную команду впоследствии. Это - по-моему, самое простое и самое чистое решение.
function myotherscript() {
command myotherscript "$@"
other_command_to_be_executed
}
С zsh можно создать a precmd
функция, которая будет выполняться перед подсказкой. Это позволяет Вам выполнять произвольные другие команды, но необходимо будет определить выполняемую команду сами.
function precmd() {
last_cmd=$(history -1 | sed -e "s/^[ ]*[0-9]*[ ]*//g")
case "$last_cmd" in
*myscript*) other_command;;
*myotherscript*) other_other_command;;
esac
}
Bash имеет PROMPT_COMMAND
переменная, разрешающая Вам реализовать Ваше собственное precmd
функция. Для использования его, необходимо установить его на команду, которая будет выполняться перед подсказкой:
PROMPT_COMMAND="${PROMPT_COMMAND};bash_precmd"
function bash_precmd() {
last_command=$(history 1 | sed -e "s/^[ ]*[0-9]*[ ]*//g")
case "$last_command" in
*pattern*) command ;;
esac
}
Если Вы используете удар и хотите использовать что-то как preexec
или precmd
взгляните на precmd и предварительное должностное лицо с ударом
Это происходит, когда сервер в области поиска DNS, Вы настроили.
Например, моей текущей областью поиска является example.com:
$ grep ^search /etc/resolv.conf
search example.com
Я могу теперь сделать следующее прозрачно:
$ ping foo.example.com
PING foo.example.com (127.0.0.1) 56(84) bytes of data.
^C
$ ping foo
PING foo.example.com (127.0.0.1) 56(84) bytes of data.
^C
Области поиска позволяют автоматический перевод между названием машины и полностью определенным доменным именем (FQDN).
Клиент OpenSSH использует стандартный сопоставитель DNS, обеспеченный Вашей операционной системой для разрешения имен хостов к IP-адресу.
hosts
конфигурация в /etc/nsswitch.conf
настраивает то, на что нужно посмотреть разрешить хосты и и в какой порядок.
Обычно большинство поисков будет завершено dns
сопоставитель, который настроен в /etc/resolv.conf
. Вероятно, необходимо связаться с человеком, который администрирует nameserver
отмеченный в /etc/resolv.conf
и попросите, чтобы они настроили имя хоста/IP для Вас, которое в Вашем случае 127.0.1.1, кажется, себя. Если у Вас есть динамический IP-адрес DHCP, это не могло бы быть возможно в зависимости от Вашей установки.
Если mdns
или Многоадресная передача, DNS - то, что включает Ваш рабочий хост, Ваш новый хост, могла бы быть на другой подсети или не широковещательной передаче, это - имя.
search example.com
, таким образом, каково различие междуsearch
иdomain
? – qed 22.07.2013, 16:07domain example.com
настраивает локальный домен который значения по умолчанию области поиска к. Область поиска может дополнительно быть настроена сsearch example.com someextradomain.com
– Matt 22.07.2013, 16:09