🕌

【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 の代わりに shzsh を使いたい場合は、['sh', 'test.sh'] のように変更してください。

  • 同じディレクトリ内にtest.shが存在する前提の内容です。


Discussion