🕌
【Python】Shell Scriptを実行する基本
PythonからShell Scriptを実行する基本
Mac や Linux 環境で、Pythonから .sh ファイル(シェルスクリプト)を呼び出す方法を紹介します。
テスト自動化や簡単なタスク実行にも応用できます。
✅ サンプルコード
import subprocess
# capture_output=True: 標準出力・標準エラー出力を取得する
# text=True: 出力をバイト列ではなく文字列として扱う
result = subprocess.run(['bash', 'test.sh'], capture_output=True, text=True)
print(result.stdout)
🔍 解説ポイント
-
subprocess.run()を使うことで、Pythonから直接外部スクリプトを実行できます。 -
['bash', 'test.sh']はbashを指定してtest.shを実行する書き方です。 -
capture_output=Trueを指定すると、スクリプトの実行結果を Python 内で受け取ることができます。 -
text=Trueで出力を文字列として処理できます(Python 3.7以降推奨)。
📌 補足
-
.shファイルには実行権限を付けておくと安心です。
実行権限の付与例:chmod +x test.sh -
bashの代わりにshやzshを使いたい場合は、['sh', 'test.sh']のように変更してください。 -
同じディレクトリ内にtest.shが存在する前提の内容です。
Discussion