如何在Ruby中的if语句中检查bash命令的返回值(true/false).我想要这样的东西工作,
if ("/usr/bin/fs wscell > /dev/null 2>&1")
has_afs = "true"
else
has_afs = "false"
end
Run Code Online (Sandbox Code Playgroud)
它抱怨以下错误含义,它将始终返回true.
(irb):5: warning: string literal in condition
Run Code Online (Sandbox Code Playgroud)
什么是正确的语法?
更新:
/usr/bin/fs wscell
Run Code Online (Sandbox Code Playgroud)
寻找afs安装和运行状况.它将抛出这样的字符串,
This workstation belongs to cell <afs_server_name>
Run Code Online (Sandbox Code Playgroud)
如果afs未运行,则命令以状态1退出
你想要反引号而不是双引号.检查程序的输出:
has_afs = `/usr/bin/fs wscell > /dev/null 2>&1` == SOMETHING ? 'true' : 'false'
Run Code Online (Sandbox Code Playgroud)
SOMETHING充满了您正在寻找的东西.
| 归档时间: |
|
| 查看次数: |
2540 次 |
| 最近记录: |