Конфигурационный файл сценария запуска Csh и переменные - PullRequest
0 голосов
/ 13 сентября 2010

Я довольно неопытен со сценариями оболочки (в данном случае csh), но меня попросили отредактировать один. Меня попросили добавить файл конфигурации, чтобы было намного проще редактировать несколько конкретных переменных. Я думал, что это глупо, потому что это скрипт, и чтение в файл и из него будет немного глупым, поэтому я мог бы просто создать другой скрипт, который бы устанавливал переменные.

родительский скрипт

#!/bin/csh
...
...

./set_vars

echo $aVar

и мой скрипт set_vars выглядит примерно так:

#!/bin/csh

setenv aVar "400"
echo $aVar

Но я не определен в родительском скрипте.

у меня возникает вопрос ... как сделать так, чтобы дочерний скрипт устанавливал переменные, которые родительский скрипт мог использовать, или есть ли лучший способ иметь конфигурационный файл, где кто-то мог бы устанавливать переменные.

Это кажется глупым способом сделать это, но лучший способ, который я могу сказать, это то, что не требует никакого файлового ввода-вывода и все еще имеет краткий файл для редактирования переменных.

1 Ответ

1 голос
/ 13 сентября 2010

Вы должны выполнить скрипт "set_vars" в контексте его родителя. В C-shell вы достигаете этого с помощью команды «source»:

#!/bin/csh
...
source set_vars
...
echo $aVar
...