Есть ли в Unix переменные среды?
Могу ли я внутри программы CallTEMP (второй её вызов--команда java -jar CallTEMP.jar finish) в зависимости от условия задать значение переменной среды, а потом уже в зависимости от значения этой переменной среды вызвать ещё раз программу beg_matr ?
То есть чтобы было что-то вроде такого:
newterm()
cd /home/KOL/ryk/CallTEMP
java -jar CallTEMP.jar
beg_matr
java -jar CallTEMP.jar finish
if %myvar==1 beg_matr
echo конец загрузки
(Я не знаю операционную систему Unix--просто пришлось столкнуться с ней).
Здравствуйте, Аноним, Вы писали:
А>Есть ли в Unix переменные среды?
Есть.
А>Могу ли я внутри программы CallTEMP (второй её вызов--команда java -jar CallTEMP.jar finish) в зависимости от условия задать значение переменной среды, а потом уже в зависимости от значения этой переменной среды вызвать ещё раз программу beg_matr ?
Нет. Переменные среды принадлежат процессу, он может задавать переменные себе и потомкам, но на родительский процесс повлиять не может.
А>То есть чтобы было что-то вроде такого:
Процесс может вернуть значение через stdout/stderr, которое потом шелл присвоит переменной, или же через код возврата статус успешности выполнения.
Обязательно бахнем! И не раз. Весь мир в труху! Но потом. (ДМБ)
Re[2]: Переменные среды в Unix
От:
Аноним
Дата:
27.09.12 13:47
Оценка:
Здравствуйте, ДимДимыч, Вы писали:
А>>То есть чтобы было что-то вроде такого:
ДД>Процесс может вернуть значение через stdout/stderr, которое потом шелл присвоит переменной, или же через код возврата статус успешности выполнения.
Не могли бы Вы написать пример, как в файле run.bat можно работать со значениями переменных шелл, и как можно обработать статус успешности выполнения по коду возврата?
Здравствуйте, ДимДимыч, Вы писали:
ДД>Здравствуйте, Аноним, Вы писали:
А>>Не могли бы Вы написать пример, как в файле run.bat можно работать со значениями переменных шелл,
ДД>В bash, установить значение: ДД>
ДД>VAR=value
ДД>
ДД>(пробелы около знака "равно" недопустимы)
ДД>Получить значение: ДД>
ДД>${VAR}
ДД>
А>>и как можно обработать статус успешности выполнения по коду возврата?
ДД>Переменная "$?" содержит код возврата последней выполненной команды.
ДД>Вообще прочите документацию по вашему шеллу (если это bash, то man bash), там достаточно подробно все описано.
Ясно. И ещё вопрос: можно ли в Unix написать блок действий (начало и конец), который зависит от этого значения
$?
?
Есть ли в Unix аналог команд begin -- end в Pascal/Delphi или команд { -- } в C/C++/Java/C# ?
Здравствуйте, RussianFellow, Вы писали:
RF> Ясно. И ещё вопрос: можно ли в Unix написать блок действий (начало и конец), который зависит от этого значения $? ? RF> Есть ли в Unix аналог команд begin -- end в Pascal/Delphi или команд { -- } в C/C++/Java/C# ?
Да, есть
if [ $? -ne 0 ]
then
# обработка ошибки
exit $?
fi
Здравствуйте, Anton Batenev, Вы писали:
AB>Здравствуйте, RussianFellow, Вы писали:
RF>> Ясно. И ещё вопрос: можно ли в Unix написать блок действий (начало и конец), который зависит от этого значения $? ? RF>> Есть ли в Unix аналог команд begin -- end в Pascal/Delphi или команд { -- } в C/C++/Java/C# ?
AB>Да, есть
AB>