我刚刚在脚本中看到以下内容,我不确定它的含义:
.............
started=$STATUSDIR/.$EVENT_ID-started
errs=$STATUSDIR/.$EVENT_ID-errors
# started is used to capture the time we started, so
# that it can be used as the latest-result marker for
# the next run...
>"$started"
>"$errs"
# store STDERR on FD 3, then point STDERR to $errs
exec 3>&2 2>"$errs"
..............
具体来说,“>”在行的开头。该脚本实际上失败了“没有这样的文件或目录”。 vars都是通过辅助脚本提供的,似乎没有任何逻辑来创建它抱怨的目录。
这对谷歌来说并不是最简单的事情,所以我想我会在这里问这个问题,以便将来的重击黑客可以找到你可爱的人们能够提供的答案。
答案 0 :(得分:2)
这是redirection。它与echo hello >file
使用的语法相同(或者不那么常规,但同样正确的等效>file echo hello
),只是没有echo hello
。 :)
当附加到空命令时,重定向的效果与运行并立即退出但没有输出的命令相同:它创建(如果不存在)或截断(如果存在)输出文件,关闭该文件,然后让脚本继续执行下一个命令。