我正在使用两个ROS版本。要使用一个,我必须为特定版本提供一些环境变量。我想创建一个这样做的脚本。
但是如果我创建一个如下所示的脚本,那么这些变量没有设置,它们可能设置在一个子shell中。如何将文件导出到主终端外壳?
但是如果我创建一个如下所示的脚本,那么这些变量没有设置,它们可能设置在一个子shell中。如何将文件导出到主终端外壳?
source.sh:
source /opt/ros/fuerte/setup.bash; source ~/fuerte_workspace/setup.bash;
这是我如何调用source.sh:
./source.sh # This does not echo anything,but I expect it should echo $ros_config
更新:通过在答案中提供source来源,现在我可以看到设置的变量。
source ./source.sh # This works now echo $ros_config
执行Shell脚本使用。 ./(点空格点斜杠)
原文链接:https://www.f2er.com/bash/388447.html在使用“点空格点斜线”执行shell脚本时,如下所示,它将在当前shell中执行脚本,而不会分派子shell。
$ . ./setup.bash
换句话说,这将执行当前shell中setup.bash中指定的命令,并为您准备环境。