Недавно я обнаружил неожиданное поведение в сценарии bash, и я хотел бы это понять, прежде чем я его обойду. Вот упрощенный пример:Перенаправление сценариев Bash не работает, почему?
#! /bin/sh
SCRIPT="/tmp/echoscript.sh >> /tmp/log"
/bin/sh ${SCRIPT}
echoscript.sh просто делает «эхо„ABC“»
Неожиданным дело в том, что «а» идут к терминалу, а не к/файлу TMP/журнала. Почему это?
Если я меняю третью линию:
/bin/sh ${SCRIPT} >> /tmp/log
Тогда я получить ожидаемый результат; 'abc' переходит в файл журнала.