1. 使用解释shell.com:

1. 使用解释shell.com:

有人可以帮助我理解这一点吗?

echo $?-- 我知道它输出某种变量......

和这个

ls >> $File 2>&1 ----有人能解释一下这是做什么的吗?

答案1

echo$?将返回上一个命令的错误代码。

尝试

false ; echo $?
true ; echo $?

ls >> $File 2>&1,将>>ls 的 ( ) 输出重定向到名称为 的文件末尾$File2>&1也将重定向错误(如果有)。

  • >>代表追加到文件。

答案2

1. 使用解释shell.com:

或者

2. 搜索 shell 的手册页

通过做:

    $ man sh #replace sh with another shell if you need to

您可以按 Ctrl-F 样式搜索模式/,输入搜索模式,然后按 Enter。


概括:

回声:显示一行文本

$?:扩展到最近执行的命令/管道的退出状态

LS: 列出目录内容

>>:附加输出

2>&1:将 stderr (fd=2) 重定向到 stdout (fd=1) (在本上下文中,这是追加模式下的“$File”)

答案3

这个问题中更重要的是与重定向运算符有关的问题。

ls >> $File 2>&1

ls stands for list contents of current directory

>> means append to end of file

$FILE means there is a variable declared as FILE having some value, could be the path to a file.

2>&1 means redirecting both stdin and sterr to the target file, in this case $FILE.

相关内容