如何在执行shell脚本Linux时关闭echo

时间:2014-04-27 07:26:05

标签: linux bash shell echo

这是我正在做的一件简单的事情

 echo "please enter a command"
 read x
 $x
 checkexitstatus()
 {...}

checkexit状态是在其他地方创建的ifloop,仅用于检查退出状态

我想知道的是 有什么办法,当我运行$ x,它不会显示在屏幕上 我想知道是否可以将输出重定向到文件

3 个答案:

答案 0 :(得分:3)

不,这是不可能的。

$x &> /dev/null

答案 1 :(得分:3)

您可以使用Bash重定向:

  • command 1> /.../path_to_file =>将stdout重定向到path_to_file。

command > /.../path_to_file是上一个命令的快捷方式。

  • command 2> /.../path_to_file =>将stderr重定向到path_to_file

要同时对同一输出执行两项操作:command >/.../path_to_file 2>&1

2>&1表示将2(stderr)重定向到1(stdout成为path_to_file)。 如果您不想检索命令的输出,可以将path_to_file替换为/dev/null

否则,您还可以存储命令的输出:

$ var=$(command) # Recent shell like Bash or KSH
$ var=`command` # POSIX compliant

在此示例中,command的输出将存储在$var

答案 2 :(得分:2)

或者,如果您只是想按照标题所示关闭echo(在正文中它似乎不是这样),您可能(可能会破坏代码)为{{创建别名1}}

echo

现在alias echo=':' echo的别名。您可以noop unalias