docker容器中的roscore在通过bash脚本调用时不工作

我创build了文件myScript.sh,其中只有一个调用roscore:

#!/bin/bash echo youpi roscore 

当这个可执行脚本从一个容器中运行时,我没有任何问题, echo youpiroscore正确执行。

现在,当从主机调用myScript.sh(在容器上执行)时,我得到的echo youpi行被正确执行,但我得不到输出的roscore线:

 myScript.sh: line 3: roscore: command not found 

我在主机上使用的命令行是:

 docker exec -ti lescompanions /bin/bash -c "source /home/dev/DevRoot/src/catkin_ws/src/le_painters_companion/lc_control/start_roscore_docker.sh && exec /bin/bash -li" 

任何想法是什么问题?

如果roscore不是$PATH的可执行文件,则应该用path调用它。 例如./roscore/path/to/roscore 。 这可能是文件权限不正确,那么你需要执行

 chmod 755 roscore