如何在Linux中执行shell脚本时关闭echo
这是我正在做的一件简单的事情如何在Linux中执行shell脚本时关闭echo,linux,bash,shell,echo,Linux,Bash,Shell,Echo,这是我正在做的一件简单的事情 echo "please enter a command" read x $x checkexitstatus() {...} checkexitstatus是在其他地方创建的ifloop,用于检查退出状态 我想知道的是 当我运行$x时,是否有任何方式使它不会显示在屏幕上 我想知道是否可以不将输出重定向到文件不,这是不可能的 $x &> /dev/null 您可以使用Bash重定向: 命令1>/…/path\u to\u文件=>将标准输
echo "please enter a command"
read x
$x
checkexitstatus()
{...}
checkexit
status是在其他地方创建的ifloop,用于检查退出状态
我想知道的是
当我运行$x时,是否有任何方式使它不会显示在屏幕上
我想知道是否可以不将输出重定向到文件不,这是不可能的
$x &> /dev/null
您可以使用Bash重定向:
=>将标准输出重定向到path\u to\u文件李>命令1>/…/path\u to\u文件
命令>/…/path_to_file
是上一个命令的快捷方式
=>将stderr重定向到path_to_文件命令2>/…/path_to_文件
command>/…/path\u To\u file 2>&1
2>&1
意味着将2
(stderr)重定向到1
(stdout成为路径到文件)。
如果不想检索命令的输出,可以用/dev/null
替换path\u to_file
否则,还可以存储命令的输出:
$ var=$(command) # Recent shell like Bash or KSH
$ var=`command` # POSIX compliant
在本例中,
命令
的输出将存储在$var
中,或者如果您只是想按照标题所示关闭echo
(在正文中似乎不是这样),您可以(它可能会破坏代码)为echo
创建一个别名
alias echo=':'
现在,
echo
是noop
的别名。您可以通过unalias echo
来unalias
$x>/dev/null
而不是$x
。要使错误消息静音,$x>/dev/null 2>&1
@AkyJ如果要将输出存储到文件中,则应使用除/dev/null
以外的其他内容。非常感谢我按照建议使用了$x>/dev/null 2>&1devnull@AkyJ如果要将输出存储到文件,您应该使用除/dev/null
之外的其他工具。感谢您提供的信息和解释2&>1的实际功能:)@AkyJ很高兴为您提供帮助。