在以下情况下,我在隐藏shell命令的错误消息时遇到了问题。
firs_line=$(head -n 1 file) > /dev/null 2>&1我希望错误消息是隐藏的,但实际上并非如此。如何在head命令成功执行时获得输出,但在失败时隐藏错误消息?
提前谢谢。
发布于 2014-08-17 18:00:28
错误消息是否来自head程序(例如,找不到文件)?
在这种情况下,您必须重定向括号内的输出:
firs_line=$(head -n 1 file 2>/dev/null)此外,您只需重定向标准错误(而不是标准输出,该输出应由$()捕获并存储在firs_line中
发布于 2014-08-17 18:03:39
firs_line="$([ -r file ] && head -n 1 file)"https://stackoverflow.com/questions/25348142
复制相似问题