Не работает стандартный вывод, а именно я хотел сделать скрипт для автоматического обновления портов и хотел сделать вывод программы cvsup и ёё ошибок в файл.
Когда я протестировал следующее:
%/usr/local/bin/cvsup -g -L 2 /etc/cvsup-stable > /дир/где/логи 2>&1
Я получил следующее
%Ambiguous output redirect.
Кстати когда я пролистал команды назад, то система сделала пробелы между значением "2" и ">", то есть:
%/usr/local/bin/cvsup -g -L 2 /etc/cvsup-stable > /дир/где/логи 2 > & 1
Получается что он вообще не понимает значения 1,2 которые соответсвуют стандартному выводу и выводу ошибок.
На компе стоит FreeBsd 4.10. Шел csh. Я работаю под рутом ( su)
Всем заранее спасибо так как я уже всюду обыскался и не нашёл решения.
Поставь сначала 2>&1 без всяких пробелов между & и 1, а потом уже можешь отправлять stdout куда хочешь.
в csh нельзя обращаться к дескрипторам по номерам, зато там есть такая конструкция: 'cmd >& file' направляет как stdout, так и stderr в файл. Т. е. именно то, что нужно.
>в csh нельзя обращаться к дескрипторам по номерам, зато там есть такая конструкция: 'cmd >& file' направляет как stdout, так и stderr в файл. Т. е. именно то, что нужно.Огромное спасибо! Вы мне очень помогли. Каким шелом вы советовали бы пользоваться?
Хм... считается, что для программирования лучше подходит bourne shell, напр. bash. Это наверно действительно так, поскольку 1) он входит в требования POSIX и 2) народ пишет почти исключительно на нем. Ну а если вас интересует мое мнение о том, какой шелл юзать э... как это по-русски... черт с ним... юзать интерактивно, то --- скорее всего тот, к которому хотя бы немного привыкли. Скорее всего это опять же bash.
>Хм... считается, что для программирования лучше подходит bourne shell, напр. bash. Это
>наверно действительно так, поскольку 1) он входит в требования POSIX и
>2) народ пишет почти исключительно на нем. Ну а если вас
>интересует мое мнение о том, какой шелл юзать э... как это
>по-русски... черт с ним... юзать интерактивно, то --- скорее всего тот,
>к которому хотя бы немного привыкли. Скорее всего это опять же
>bash.
Спасибо, я пока что воздераживаюсь от bash так как стараюсь минимизировать количество установленныхх пакетов для увелечения уровня безопасности.