我正在使用两个版本的 ROS。要使用它,我必须为特定版本获取一些环境变量。我想创建一个脚本来执行此操作。
但是,如果我创建如下所示的脚本,则未设置变量,它们可能是在子 shell 中设置的。如何将文件发送到主终端 shell?
来源.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.sh,我现在可以看到正在设置的变量。
source ./source.sh
# This works now
echo $ros_config
使用 执行 Shell 脚本。 ./(点空格点斜线)
执行 shell 脚本时使用“dot space dot slash”
,如下所示,它将在当前 shell 中执行脚本,而不会 fork 子 shell。
$ . ./setup.bash
换句话说,这会执行在setup.bash
在当前 shell 中,并为您准备环境。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)