Невозможно отменить привязку функции оболочки
Этот вопрос основан на теме.
У меня есть функция оболочки
function man()
{
man "$1" > /tmp/manual; less /tmp/manual
}
Проблема в том, что существует командный человек.
Как вы можете заменить команду моей командой?
1 ответ
Решение
Замените man "$1" на путь: /usr/bin/man. Или измените его, чтобы использовать "какой человек" в кавычках. Затем запустите ваш скрипт в текущей оболочке. В bash / ksh вам нужно сохранить ваш скрипт в каком-то файле, скажем, man.sh, а затем запустить его как '../man.sh.
cat > man.sh
function man()
{
/usr/bin/man "$1" > /tmp/manual; less /tmp/manual
}
^D
. ./man.sh
Вы поняли идею. Вы можете отменить определение функции в любое время: unset -f man