2021-06-18
09:14:15
作者:
zeki
exec
- 将命令替换
当前进程
中的操作,命令结束后会立即结束进程
,缺点
是无法得知 shell 命令是否成功执行了
# demo.rb
exec 'echo "hello reader"'
print 'zeki'
# 执行
ruby demo.rb
# 输出
hello reader
system
- 创建一个新的进程来执行命令,并返回布尔值结果,表示是否成功执行
$ irb
> system 'DUMMY="reader"'
=> true
> system 'echo "hello $DUMMY"'
=> true
> puts $?
pid 27271 exit 0
=> nil
> system 'false'
=> false
> puts $?
pid 27274 exit 1
=> nil
反引号 (`)
- 这是我最喜欢的的方式,简洁!
- 它也是创建一个新进程中执行命令
$ irb
> cmd = `uname -r`
=> "20.5.0\n"
> $?
=> #<Process::Status: pid 27325 exit 0>
> $?.to_i
=> 0
回复(0)
阅读(151)
还没有评论,赶紧评论下,抢个沙发?