python subprocess.call()が期待どおりに機能しない
私は、Pythonでセットアップスクリプトを作成する方法に慣れるために、このうさぎの穴を掘り下げました。Pythonの選択は、私がそれに精通していることに根ざしています。このタスクには、Pythonよりも優れた代替策があると確信しています。 このスクリプトの目的は、スクリプトを実行しているマシンにROSをインストールし、catkin環境をセットアップすることです。道順はこことここでそれぞれ見つけることができます。 現在のスクリプトは次のとおりです。 subprocess.call(["sudo", "sh", "-c", "'echo \"deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main\" > /etc/apt/sources.list.d/ros-latest.list'"]) subprocess.call(["sudo", "apt-key", "adv", "--keyserver", "hkp://ha.pool.sks-keyserver.net:80", "--recv-key", "0xB01FA116"]) subprocess.call(["sudo", "apt-get", "update"]) subprocess.call(["sudo", "apt-get", "install", "ros-kinetic-desktop-full", "-y"]) subprocess.call(["sudo", "rosdep", "init"]) subprocess.call(["rosdep", "update"]) subprocess.call(["echo", '"source /opt/ros/kinetic/setup.bash"', ">>", "~/.bashrc", "source", "~/.bashrc"]) subprocess.call(["sudo", "apt-get", "install", "python-rosinstall", "-y"]) mkdir_p(os.path.expanduser('~') + "/catkin_ws/src") subprocess.call(["(cd …