Невозможно отменить привязку функции оболочки - PullRequest
0 голосов
/ 28 июня 2009

Этот вопрос основан на теме .

У меня есть функция оболочки

function man()
{       
    man "$1" > /tmp/manual; less /tmp/manual 
}

Проблема в том, что существует команда man.

Как вы можете заменить команду моей командой?

1 Ответ

3 голосов
/ 28 июня 2009

Замените 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

...