prox
@prox

Сокращенные команды в интерпретаторе (bash), как в cisco ios?

Многие знакомы с CLI Cisco IOS, который позволяет использовать сокращение команды если сокращение ведет к уникальной команде


«Commands and keywords can be abbreviated to the minimum number of characters that identifies a unique selection. For example, you can abbreviate the „configure“ command to „conf“ because „configure“ is the only command that begins with „conf“. You could not abbreviate the command to „con“ because more than one command could fit this criteria. The router will issue the following error message if you do not supply enough characters.»


можно #conf t вместо #configure terminal


вопрос: есть аналоги для bash/sh?


ex:


[web ~]$ ps ax | gr www

-bash: gr: command not found


[web ~]$ ps ax | grep www

7505 p0 R+ 0:00.00 grep www (bash)


[web ~]$ gr

graid3 grep grn grodvi groff grog grolbp grolj4 grops grotty groups growfs


[web ~]$ gre

-bash: gre: command not found
  • Вопрос задан
  • 3461 просмотр
Решения вопроса 1
Пригласить эксперта
Ответы на вопрос 2
iSage
@iSage
www.linuxplanet.com/linuxplanet/tutorials/7025/1/

function err_handle {
status=$?

if [[ $status -ne 127 ]]; then
return
fi

lastcmd=$(history | tail -1 | sed 's/^ *[0-9]* *//')

read cmd args <<< "$lastcmd"
possible_cmd=$(ls /sbin/${cmd}* /bin/${cmd}* /usr/bin/${cmd}* /usr/local/bin/${cmd}* 2>/dev/null)
echo "Sorry, $cmd doesn't exist. Try $possible_cmd"
}
trap 'err_handle' ERR


Дальше сами допишите?
Ответ написан
Комментировать
@xara
Самый простой вариант - прописать в какой-нибудь .bashrc алиасы:
alias gr='grep'
alias gre='grep'

Второй вариант - научится нажимать Tab, что будет дописывать "если сокращение ведет к уникальной команде". Проблема в том, что на линуксе обычно больше команд, чем на кошке. К примеру gre + Tab + Tab у меня выводит следующее:
# gre
grep       gresource
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы