Aky*_*kyJ 6 linux bash shell echo
这是我正在做的一件简单的事情
echo "please enter a command"
read x
$x
checkexitstatus()
{...}
Run Code Online (Sandbox Code Playgroud)
checkexit status 是在其他地方创建的 ifloop 只是为了检查退出状态
我想知道的是,当我运行 $x 时,它不会显示在屏幕上,我想知道是否可以不将输出重定向到文件
您可以使用 Bash 重定向:
command 1> /.../path_to_file=> 将标准输出重定向到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
Run Code Online (Sandbox Code Playgroud)
在此示例中, 的输出command将存储在 中$var。
如果您只想关闭该echo命令而不关闭其他将其输出发送到 的命令stdout,如标题所示,您可以(这可能会破坏代码)为echo
alias echo=':'
Run Code Online (Sandbox Code Playgroud)
nowecho是 的别名noop。你可以unalias通过unalias echo.