【发布时间】:2012-04-11 15:20:53
【问题描述】:
我的 64 位 Ubuntu 遇到了一个奇怪的问题 - 在 export 命令上。
基本上,我在 Windows 7 系统上的 Ubuntu 上安装了 VM,我正在尝试使用自定义(由客户端提供)软件将命令从我的 Windows 系统传递到我的 VM 安装。
所以,在我的虚拟机上,当我这样做时:
export foo=bar
echo $foo
一切都按预期进行。
但是,当我通过自定义软件(基本上将 Linux 命令作为字符串传递给 bash shell)执行相同操作时,我得到:
export: command not found
我尝试查看外壳(使用自定义软件),使用:
echo $SHELL > shell.txt
我得到了预期的 /bin/bash,但我仍然得到 “export: command not found error”。
我该如何解决这个问题?
【问题讨论】:
-
export 不是真正的命令(即不在 /bin、/usr/bin 等中),它由 bash 内部处理。如果您愿意,可以执行 bash -c "export foo=bar;echo \$foo" ...
-
你说的这个定制软件是什么?
-
亚当所说的可能是解决您问题的关键。
export是内置的 bash。echo是一个二进制文件,位于您的$PATH -
什么是“定制(由客户提供)”软件?
-
谢谢你们的回复。 “自定义软件”是我的客户端编写的一堆 java 代码,它包含运行 linux 命令的功能(基本上将命令作为字符串传递给 shell)。我将尝试使用 bash -c 选项并用结果更新你们。