系統調用中的參數
回答
它算作兩個。由於兩者之間存在空間,shell會將其分割爲-P
和/public/google
(如果已使用參數,即使在ruby中,shell也會將這些參數作爲單獨的參數傳遞給腳本)。
它實際上取決於您使用哪種形式的系統。如果你傳遞一個字符串命令,鼻翼:
system 'somecmd -P /public/google'
的命令字符串將通過將解析它,令牌化上導致兩個參數somecmd空白殼來解釋。同樣,如果你使用的參數列表形式,你打破字符串成空格分隔標記,如:
system 'somecmd', '-P', '/public/google'
system *%w{ somecmd -P /public/google }
但是如果你使用的參數列表形式,併發送-P /public/google
作爲一個單獨的參數會出現somecmd爲一個嵌入空白的參數:
system 'somecmd', '-P /public/google'
感謝您的回答! 'system'somecmd','-P/public/google'(具有一個參數的版本)會產生與'system'somecmd -P/public/google''(帶兩個參數的版本)相同的結果嗎? –
@MikaH。結果真的取決於'somecmd'對arg標記化的敏感程度以及意義如何變化;一般來說,getopts風格的選項解釋可能會比'-P','/ public/google''完全不同於'-P/public/google'。 'touch'可能並不在意。 – dbenhur
- 1. 系統調用的參數
- 2. NtAllocateVirtualMemory系統調用參數
- 3. 參數傳遞到系統調用
- 4. 系統調用的很好的參考
- 5. XV6加計數系統的系統調用調用
- 6. 「調用參數'風格'的參數缺失創建系統中的錯誤UIBarButtonItem
- 7. open()系統調用中的第三個參數如何工作?
- 8. 系統調用中的宏
- 9. Unix中的系統調用
- 10. 計數系統調用
- 11. 在系統()中使用參數char argv []
- 12. 系統(「」)調用
- 13. 如何在Perl中傳遞系統調用參數?
- 14. 使用perf記錄帶參數的系統調用
- 15. 系統調用vs函數調用
- 16. 在C庫函數中調用系統
- 17. linux系統中使用的for_each_zone在新系統調用中調用
- 18. 使用execlp與參數shell元字符用C系統調用
- 19. 如何檢索傳遞給C系統調用的參數?
- 20. 如何與bash上的系統調用共享參數?
- 21. 如何實現具有結構參數的系統調用?
- 22. 參數傳遞的系統調用在Linux
- 23. 系統調用參數的最大大小
- 24. mmap()系統調用的prot參數如何成爲0x1007?
- 25. 將參數傳遞給xv6的系統調用
- 26. 檢查lldb幀堆棧上系統調用的參數
- 27. 如何調用系統()以2個參數的VIM
- 28. 向FreeBSD內核添加一個帶參數的系統調用
- 29. 中斷系統調用
- 30. 系統調用在C++中
drderp,謝謝你的回答! 「如果你曾經參與過爭論,即使是在紅寶石中」,你的意思是什麼? –
@MikaH。在ruby和其他大多數編程語言中,如果您從命令行運行腳本,如'some_file some args'或'ruby-some_file.rb some args',您將可以通過一些數組訪問這些參數分類。在紅寶石的情況下,它是'ARGV'。 –