我想寫一個簡單的bash腳本來充當可執行文件的包裝。如何將腳本收到的所有參數傳遞給可執行文件?我試圖將bash腳本參數傳遞給子進程不變
/the/exe [email protected]
但這不加引號的參數,例如工作。
./myscript "one big parameter"
運行
/the/exe one big parameter
這是不一樣的東西。
我想寫一個簡單的bash腳本來充當可執行文件的包裝。如何將腳本收到的所有參數傳遞給可執行文件?我試圖將bash腳本參數傳遞給子進程不變
/the/exe [email protected]
但這不加引號的參數,例如工作。
./myscript "one big parameter"
運行
/the/exe one big parameter
這是不一樣的東西。
當一個shell腳本環繞一個可執行文件,如果你不想執行完成後,做任何事情(這對包裝腳本一個共同的情況下,在我的經驗),調用可執行程序的正確方法是:
exec /the/exe "[email protected]"
的exec
內置告訴shell只是把控制權交給可執行沒有分叉。
實際上,這可以防止無用的shell進程在系統中掛起,直到被包裝的進程終止。
這也意味着在exec
命令後沒有命令可以執行。
你必須把[email protected]
引號:
/the/exe "[email protected]"
太好了,謝謝!我認爲這將把所有參數放在一組引號中,但它能正常工作。 – EMP 2009-11-08 09:11:30
優秀,不知道 - 謝謝! – EMP 2009-11-08 22:34:34