我正在嘗試編寫名爲IDL腳本的腳本,例如a.pro。在這個腳本的最後,我想執行shell腳本b。我正在嘗試使用spawn命令來做到這一點。但我也需要從IDL腳本傳遞一些參數(變量值)給這個shell腳本。我怎樣才能做到這一點?從IDL腳本將參數傳遞給shell腳本
1
A
回答
3
您發送給SPAWN
的命令只是一個字符串;以任何你喜歡的方式創建字符串。我更喜歡使用C風格的格式代碼:
filename = 'output.log'
n_lines = 50
cmd = string(n_lines, filename, format='(%"tail -%d %s")')
; cmd = 'tail -50 output.log'
spawn, cmd, output
1
有兩種方法來調用SPAWN
來完成你想要的東西:
調用腳本,b
,直接:
spawn, ['b', arg1, arg2], /noshell
優點:
- 更快,因爲它不會創建
bash
的新實例。 - 更安全,因爲您不必轉義或引用參數。
格式爲bash
終端字符串:
script_path = 'b'
cmd = strjoin([script_path, arg1, arg2], ' ')
spawn, cmd
優點:
- 有時更容易,因爲你可以使用的格式,你已經習慣了從
bash
看到。
在大多數情況下,你應該直接調用腳本和其他程序(除了IDL)與spawn, /noshell
,因爲速度得到很大的提高,而且安全性也相當可觀。
相關問題
- 1. 將參數傳遞給shell腳本
- 2. 將shell腳本的參數傳遞給jython腳本
- 3. 將參數從shell腳本傳遞到SQL腳本
- 4. 從Shell腳本傳遞參數到Python
- 5. 將第二個參數從shell腳本傳遞給Java
- 6. 如何從shell腳本將參數傳遞給.sql文件
- 7. 如何從python腳本將參數傳遞給autoIT腳本
- 8. 將參數傳遞給腳本函數
- 9. 將groovy變量傳遞給shell腳本
- 10. 將參數傳遞給sql腳本
- 11. 將參數傳遞給郵件腳本
- 12. 將參數傳遞給Outlook腳本
- 13. 將參數傳遞給powershell腳本
- 14. 將參數傳遞給Ruby腳本
- 15. Python:將參數傳遞給腳本
- 16. 將參數傳遞給mongo腳本
- 17. 將參數值傳遞給PowerShell腳本
- 18. 將bash參數傳遞給python腳本
- 19. 將參數傳遞給腳本
- 20. Apps腳本將參數傳遞給cUrl
- 21. 將參數傳遞給腳本
- 22. 將參數傳遞給pig jython腳本
- 23. 如何將參數傳遞給腳本
- 24. 將參數傳遞給包含來自Shell腳本的ACCEPT的SQL * Plus腳本
- 25. shell腳本:這是傳遞給函數
- 26. 從java程序調用shell腳本並將參數從java傳遞給shell腳本循環
- 27. 如何使用shell腳本將參數傳遞給java代碼
- 28. 如何將shell腳本參數傳遞給oozie
- 29. 將參數傳遞給來自C#進程的shell腳本
- 30. 將參數傳遞給來自Python的shell腳本
你可以在字符串上使用'EXECUTE'函數並以這種方式傳遞變量。 –
[tag:idl]標籤用於接口描述語言。 – asynchronos