.sh (start_sim.sh
)과 .bash (sim_sources.bash
) 파일이 있습니다. sim_sources.bash
파일은 start_sim.sh
에서 호출되며 환경 변수 $ROBOT
을 특정 값으로 설정해야합니다. 그러나 ./start_sim.sh
으로 전화하면 ROBOT
변수가 변하지 않습니다. 이 일을하는 데 근본적인 실수가 있습니까?Linux 소스가 .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)"
힌트를 보내 주셔서 감사합니다. 그러나이 문제를 해결할 수있는 방법이 있습니까? 스크립트 내에서 변수를 설정해야합니다. (실제로는 .bash 파일에서 설정해야하는 많은 변수가 있지만, 지금까지는 .bashrc 내에서 소스가 호출되었습니다.) – Marc