2013-08-20 38 views
0

我從c程序中調用shell腳本。我想讓這個腳本返回多個我想要存儲在我的c程序結構中的值。例如,假設'ac'調用'a.sh',我想'a.sh'返回要存儲在變量'x'和'y'中的值,這些變量是'a.c中struct'的一部分」。從shell腳本返回多個值到c程序

+1

你試過什麼? –

+0

我不知道該怎麼做! – user2430996

+0

閱讀[這個答案](http://stackoverflow.com/questions/2488715/idioms-for-returning-multiple-values-in-shell-scripting)好的討論已經發生在這些話題上。 – Antarus

回答

2

您不能從shell腳本「返回」值,而不是退出狀態的單個整數(通常限制爲8位)(假設現在是類Unix系統)。

什麼你通常做的是解釋外部程序,你可以輕鬆地通過使用popen()運行shell腳本讀入C程序的標準輸出

您可以使用此方法傳輸任何數量的數據。

1

不是最優雅的解決方案(但非常快速且易於實現),但您始終可以從shell腳本生成輸出文件,然後從C程序中解析該文件。這樣做的好處是,您可以在C程序的執行之間存儲shell腳本的輸出值,如果這些輸出值不會每次都更改,那麼這很有用。