将环境变量从 bash 脚本导出到 tcsh shell

将环境变量从 bash 脚本导出到 tcsh shell

我从 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

相关内容