CSH запустить скрипт конфигурации файла и переменные
Вопрос
Я довольно неопытных с помощью Shell (CSH в этом случае) скрипты, но попросили редактировать один. Меня попросили добавить файл конфигурации, чтобы сделать его намного проще для редактирования нескольких определенных переменных. Я думал, что это глупо, потому что это скрипт, и чтение и из файла будет немного глупым, поэтому я мог просто сделать другой скрипт, который установил бы переменные.
Родительский скрипт
#!/bin/csh
...
...
./set_vars
echo $aVar
и мой сценарий set_vars выглядит что-то вроде
#!/bin/csh
setenv aVar "400"
echo $aVar
Но Avar I Snot определяется в родительском скрипте.
Мой вопрос становится ... Как сделать настройки дочернего сценария переменными, что родительский скрипт может использовать или есть лучший способ иметь файл конфигурации, где кто-то может установить переменные.
Это похоже на глупый способ сделать это, но лучшее, как я могу сказать, что не требует какого-либо файла io и все еще имеет краткий файл для редактирования vars.
Решение
Вы должны выполнить скрипт «Set_Vars» в контексте своего родителя. В C-Shell вы достигаете этого с помощью команды «Источник»:
#! / bin / csh ... Source Set_Vars ... Echo $ Avar