系统调用中的参数
回答
它算作两个。由于两者之间存在空间,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'。 –