bash导出命令

我遇到一个奇怪的问题与我的64位Ubuntu – 在出口命令。

基本上,我已经在我的Win7上安装了Ubuntu上的VM,并且我正尝试使用自定义(由客户端提供的)软件将我的Windows命令传递给我的VM安装。

所以,在我的虚拟机上,当我这样做的时候:

export foo=bar echo $foo 

一切按预期工作。

但是,当我通过自定义软件(基本上将linux命令作为string传递给bash shell)执行相同操作时,我得到:

 export: command not found 

我试图看看壳(使用自定义软件),使用:

 echo $SHELL>shell.txt 

我得到/斌/ bash这是预期的,我仍然得到出口:命令未find错误。

我想知道有没有人看过这个错误?

Solutions Collecting From Web of "bash导出命令"

export是一个Bash内建的, echo是你的$PATH一个可执行文件。 因此, export由Bash按原样解释,而不会产生新的进程。

你需要让Bash来解释你的命令,你可以使用-c选项作为字符串传递:

 bash -c "export foo=bar; echo \$foo" 

也:

bash -c每个调用都从一个新的环境开始。 所以像这样:

 bash -c "export foo=bar" bash -c "echo \$foo" 

不管用。 第二个调用不记得foo

相反,你需要链接命令分隔; 在一个单一的调用bash -c

 bash -c "export foo=bar; echo \$foo" 

如果你正在使用C shell –

 setenv PATH $PATH":/home/tmp" 

你确定软件(而不是你自己,因为你的测试实际上只显示用户默认使用的shell)使用/ bin / bash吗?

可能是因为它试图执行“导出”作为外部命令,而且它是一个内部的shell。

SHELL是一个环境变量,所以它不是你想要弄清楚的最可靠的。 如果你的工具正在使用一个没有设置它的shell,它将保留它的旧值。

使用ps来找出真正发生的事情。

如果你不能使用“导出”命令
那么只需使用:

 setenv path /dir 

喜欢这个

 setenv ORACLE_HOME /data/u01/apps/oracle/11.2.0.3.0 

从bash改为sh脚本,使我的脚本工作。

!/ bin / sh的

按照以下步骤删除“找不到bash导出命令”。 终端打开错误修复>>>>>>

打开终端并键入:root @ someone:〜#nano〜/ .bashrc

加载纳米后:删除所有'导出PATH = ………………………'线,然后按ctrl + o保存文件,然后按按ctrl + e退出。

现在终端开放的错误将被固定………