2013-04-08 2 views
1

Теперь у меня есть скрипт с использованием команды перенаправления.добавить команду «&» перед командой перенаправления

set filename1='/home/1.log' 

echo "hello " >>& ${filename1} 

Вопрос:

  1. Я знаю, что «&» добавляется перед обработчиком файла, но здесь, «filename1» является именем файла, это необходимо, чтобы добавить «&» перед этой переменной?
  2. Если нет, значит ли это «&» у оператора есть другое значение?

Большое спасибо!

ответ

3

В оболочке C >& и >>& перенаправить как стандартный вывод, так и стандартную ошибку в указанный файл.

Обратите внимание, что Csh и производные несовместимы с оболочкой Bourne; вам следует, вероятно, рассмотреть возможность переключения на стандартную оболочку. В наши дни Bash и Zsh по большому счету поддерживают те же функции, что и Tcsh, не жертвуя синтаксической обратной совместимостью с оболочкой Bourne. См. Также http://www.perl.com/doc/FMTEYEWTK/versus/csh.whynot

+0

Ugh, '> &', убейте его огнем. +1 хотя. :) – ormaaj

+0

абсолютно, я использовал Csh. Но в файле сценария есть также строка, подобная «echo» hello «> $ {filename1}». Оно работает. Я не понимаю, почему эти два стиля работают. – viscroad

Смежные вопросы