我从 tcsh shell 运行 bash 脚本。我想从 bash 脚本在 tcsh shell 中设置环境变量。
如果你的父 shell 是 bash,那么执行此操作的方法是获取一个文件,即,如果我有一个名为的文件,dog
其中包含
#!/bin/bash
myEnv=foo
export $myEnv
然后从 bash shell 中执行命令
. dog
将会如预期般创建一个 envi 源狗
然后什么都没发生。有什么方法可以完成我想要做的事情吗?
谢谢!
答案1
你要
export myEnv
不是
export $myEnv
答案2
除了 Gunnar 已经指出的, export
将使变量仅对 bash shell 的该实例及其子进程可用。此外,当涉及到变量时,语法tcsh
也有所不同。bash
我建议您使用熟悉的语法设置一个变量tcsh
eagle:~/sergrep> cat var_file.txt
setenv foo "TEST"
eagle:~/sergrep> source var_file.txt
eagle:~/sergrep> echo $foo
TEST