我有一个 .sh ( start_sim.sh
) 和一个 .bash ( sim_sources.bash
) 文件。该sim_sources.bash
文件是从内部调用的,start_sim.sh
并且应该将环境变量设置$ROBOT
为某个值。但是,ROBOT
当我调用./start_sim.sh
. 我尝试这样做的方式是否存在根本性错误?
start_sim.sh
包含:
#!/bin/bash
echo -n "sourcing sim_sources.bash..."
source /home/.../sim_sources.bash
echo "done."
sim_sources.bash
包含:
# set the robot id
export ROBOT=robot
编辑:您能否提出一种解决此问题的方法?我仍然需要在 .bash 文件中设置变量。
EDIT2:感谢您的回复!最后我最终用一个屏幕和填充命令来解决它:
echo -n "starting screen..."
screen -dmS "sim_screen"
sleep 2
screen -S "sim_screen" -p 0 -X stuff "source /home/.../sim_sources.bash$(printf \\r)"
sleep 5
screen -S "sim_screen" -p 0 -X stuff "source /home/.../start_sim.sh$(printf \\r)"