Я запускаю bash-скрипты из оболочек tcsh. Я хочу установить переменную окружения в оболочке tcsh из скрипта bash.
Способ сделать это, если вашей родительской оболочкой является bash, является источником файла, то есть, если у меня есть файл с именем dog
, который содержит
#!/bin/bash
myEnv=foo
export $myEnv
, то из оболочки bash, Команда
. dog
, как и ожидалось, создаст исходную собаку envi
, после чего ничего не происходит. Есть ли способ выполнить то, что я хочу сделать?
спасибо!
В дополнение к то, что Gunnar уже отметил, export
, сделает переменную доступной только для того экземпляра оболочки удара и ее дочерних процессов. Кроме того tcsh
и bash
синтаксис отличаются когда дело доходит до переменных.
я предположил бы, что Вы устанавливаете переменную в синтаксисе, знакомом tcsh
eagle:~/sergrep> cat var_file.txt
setenv foo "TEST"
eagle:~/sergrep> source var_file.txt
eagle:~/sergrep> echo $foo
TEST
Вы хотите
export myEnv
не
export $myEnv
:)
)
– stack
23 August 2017 в 19:11