簡體   English   中英

將變量從python腳本傳遞到bash腳本

[英]Passing variable from python script to bash script

目前正在嘗試將參數從我的python腳本傳遞到我創建的bash腳本。 如何從python腳本向bash腳本獲取用戶輸入?

這是我的python腳本“ passingParameters.py”的代碼,我曾嘗試將其變量(循環)發送到bash腳本。 我已經通過將輸出發送到另一個我用來讀取輸入的python腳本來測試了此python腳本(在我調整了代碼之后)。

loop = str(sys.argv[1])
subprocess.check_call( ["./test.sh", loop], shell=True)

這是我的bash腳本“ test.sh”的代碼。 我已經單獨測試了此腳本,以確認當我僅從命令行調用bash腳本時,它確實收到用戶輸入。

echo "This number was sent from the passParameters.py script: " $1

如果使用shell=True則可執行文件為/bin/sh ,然后調用test.sh但從不看到loop變量。 您可以設置shell=False並將#!/bin/sh到shell腳本中,

#! /bin/sh
echo "This number was sent from the passParameters.py script: " $1

subprocess.check_call( ["./test.sh", loop], shell=False)

或將變量作為字符串傳遞:

subprocess.check_call( ["./test.sh %s" % loop], shell=True)

shell=True不建議使用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM