2017-10-05 120 views
0

我有一個bash腳本的下列片段:如何將環境變量傳遞給bash腳本中的二進制程序?

#!/bin/bash 
... # commands 
export var=3 
./a.out # : execute a binary program using the environment variable "var" 
... # commands 

其中程序a.out需要SHELL環境變量var的值。你能幫我一下如何定義var這樣a.out應該能夠使用它的值嗎?命令export var=3不起作用。

+1

你怎麼在你的程序訪問此環境變量。因爲'export var = 3'是bash中的一個合法語法。 –

+2

這是如何將'var'添加到環境中的。如果它不起作用,問題出現在'a.out'中,而不是你的腳本。 – chepner

+0

如果我在提示符中使用'export var = 3',那麼我執行'a.out',然後使用'$ var'正確運行,但是如果我在bash腳本中執行同樣的操作,它不能使用'$ var '。 – Roloka

回答

-2

你應該設置你的程序來接受命令行參數。然後,當您在腳本中調用程序時,可以使用bash變量來填充參數。

如:

./a.out $var 
+0

它不起作用,因爲我沒有'a.out'的來源。 – Roloka

+0

好吧,不會讓我的答案錯誤。您沒有指定您沒有該程序的源代碼。 – rocklegend

+0

你能告訴我這個問題的其他解決方案嗎? – Roloka

相關問題