в cshell: как установить переменную для вывода командной строки?

Я хочу запустить пакетное задание, которое генерирует jobid в качестве вывода. Как я могу сохранить jobid как переменную среды и повторно использовать его в сценарии cshell? Спасибо и наилучшие пожелания, Rollz


person user1113953    schedule 01.08.2013    source источник


Ответы (1)


Используйте обратные кавычки, чтобы подставить вывод команды в командную строку. Чтобы установить обычную переменную:

set varname = `start_batch_job`

Чтобы установить переменную среды:

setenv varname `start_batch_job`

Как правило, вам следует избегать написания сценариев в C-shell, у него много проблем, которые делают его плохим языком сценариев. См. Csh считается вредным. Даже если вы используете его в качестве интерактивной оболочки, вы все равно можете использовать другую оболочку, такую ​​как bash или ksh, в качестве языка сценариев (конечно, за исключением сценариев запуска вашей оболочки).

person Barmar    schedule 01.08.2013
comment
Я понимаю, почему всякий раз, когда люди отвечают на вопрос о csh, они всегда говорят не использовать csh, но иногда буквально нет другого выбора из-за бизнес-среды, в которой находятся люди. - person SethMMorton; 03.08.2013