Хотел сделать следующее: если передан параметр с именем файла, то выводить в него, иначе - в stdout. Но что бы в скрипте постоянно не проверять if-then завел переменную, которую думал добавлять в конец комманд echo. Текст примерно такой:
ToOutput=">&1"
if [ $1 ]; then
ToOutput=">>$1"
fi
echo "ВыводимаяСтрока"$ToOutput
Проблема в том, что перенаправление в переменной интерпретируется bash'ем как строка. Пробовал по-всякому: с разными кавычками и $(...), но никак не сообразить. Подскажите пожалуйста, как это делается?
Пользователь решил продолжить мысль 08 Августа 2010, 20:06:25:
Вопрос решился передачей выражения встроенной в оболочку комманде eval:
eval "echo \"ВыводимаяСтрока\"$ToOutput"