Ruby调用shell脚本总结

时间:2022-06-01 12:51:17

Ruby可以使用以下几种方法来执行shell脚本。

1、使用反引号``调用shell脚本

语法

`cmd`

返回命令的结果

示例

`echo "hello"`

2、内置语法

%x( cmd )

其中%x后面为分隔符,上面使用了(作为分隔符,当遇到收括号即表示命令结束。这些分隔符可以为[,{等。

示例

%x( echo 'hello' )

3、Kernal#system

system( cmd )

如果命令存在返回true,否则返回false。命令会在子shell脚本里执行。

示例

flag = system( "echo 'hello'") 

4、Kernel#exec

exec( cmd )

exec会替换当前的进程执行命令,没有返回值。

示例

exec( "echo 'hello'" )

获取命令状态

``,%x{}以及sytem会在一个子sell里执行命令,可以使用$?获取最后一个命令的执行状态

$?.exitstatus
$?.pid