🕌
【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