Оператор >&
перенаправляет стандартный вывод ошибок и стандартный вывод в одно и то же место назначения. Перенаправление стандартных ошибок — это одна из самых известных вещей, которые не может сделать csh , поэтому, если вы хотите сделать это, ответ будет таким: это невозможно. (Конечно, это возможно — но только при использовании другой программы, такой как sh
. )Однако вы хотите перенаправлять stdout так же, как и stderr, и >&
делает именно это.
Если job_script >& logs
выдает какие-то выходные данные, значит, приложение записывает напрямую в терминал. Вы не можете захватить это с перенаправлением. Вы можете использовать команду script
для регистрации всего, включая вывод терминала, в файл.
script -c 'job_script' logs >/dev/null
При этом на дворе 2017 год. Прошло около 15 лет с тех пор, как (t )csh имел какое-либо преимущество перед bash в интерактивном использовании, около 25 лет перед zsh, а csh никогда не умел писать сценарии. Это больше, чем время, чтобы уйти в отставку.
опции -r и -d несовместимы. (Не знаю, как они туда попали!)
rsync -vv -rtib работает как положено