Bash:在变量中重定向 init.d 输出
我尝试将 init.d 命令的输出重定向到变量而不将其显示在屏幕上,但这不起作用。 例如,这有效:
$> var=`uname -a`
$> echo $var
$> Linux
但不是这样:
$> var=`/etc/init.d/nginx reload`
$> the configuration file /etc/nginx/nginx.conf syntax is ok
configuration file /etc/nginx/nginx.conf test is successful
$> echo $var
$> Reloading nginx configuration: nginx.
我们怎样才能在屏幕上不返回任何内容? 谢谢。
尼科
I try to redirect the output of an init.d command to a variable without displaying it on screen, but this does not work.
For example this works :
gt; var=`uname -a`
gt; echo $var
gt; Linux
But not this :
gt; var=`/etc/init.d/nginx reload`
gt; the configuration file /etc/nginx/nginx.conf syntax is ok
configuration file /etc/nginx/nginx.conf test is successful
gt; echo $var
gt; Reloading nginx configuration: nginx.
How can we do to return nothing on the screen please?
Thanks.
Nico
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
nginx -t 将这些消息写入标准错误,而不是标准输出,因此您也需要捕获这些消息:
nginx -t
writes those messages on standard error, not on standard output, so you need to capture those too:它完全有可能进入 stderr 而不是 stdout。你可以尝试这样的事情:
测试。
It is entirely possible it is going to stderr instead of stdout. You could try something like this:
to test.