rah*_*huL 2 linux bash ubuntu centos
我在bash中有一个小脚本,它检查服务器是否是cPanel服务器
#!/bin/bash
echo "checking"
x=$(/usr/local/cpanel/cpanel -V)
if [ "$x" ]; then
echo "yes"
else
echo "no"
fi
Run Code Online (Sandbox Code Playgroud)
这很好,并提供正确的预期输出.但是,在非cPanel服务器上运行时,它还会引发以下错误:
./testcpanel.sh: line 2: /usr/local/cpanel/cpanel: No such file or directory
我想压制这个输出.
我尝试插入2>&1 /dev/null变量声明,但这不起作用.yes无论cPanel是否存在,它总是作为输出给出.
我如何抑制输出?(操作系统测试 - CentOS 6和Ubuntu 13.04)
更改以下行
x=$(/usr/local/cpanel/cpanel -V)
Run Code Online (Sandbox Code Playgroud)
至
x=$(/usr/local/cpanel/cpanel -V 2>/dev/null)
Run Code Online (Sandbox Code Playgroud)
这么说会压制错误信息(实际上是将其重定向到/dev/null).
另外,说
if [ -z "$x" ]; then
Run Code Online (Sandbox Code Playgroud)
代替.插入2>&1 /dev/null变量声明后,您重定向STDERR到STDOUT并使变量包含以下内容:./testcpanel.sh: line 2: /usr/local/cpanel/cpanel: No such file or directory由于您收到了变量yes.
| 归档时间: |
|
| 查看次数: |
4334 次 |
| 最近记录: |