Vol*_*lyy 5 bash shell sh touch
":> file"和"> file"之间有什么区别吗?
$ : > file.out
$ ls -l file.out
-rw-rw---- 1 user user 0 Mar 18 21:08 file.out
$ > file.out
$ ls -l file.out
-rw-rw---- 1 user user 0 Mar 18 21:08 file.out
Run Code Online (Sandbox Code Playgroud)
:是shell内置的NO-OP或空操作。所以,是的,将其定向到一个文件最终会得到一个空文件,就像不将任何内容定向到文件一样。我想,从某种意义上说,你的来源是一种不同的虚无,但结果是相同的。根据高级 Bash 脚本指南,“ > file.out”公式在某些系统上不起作用。
请注意,在这两种情况下(与“touch”不同),如果文件已存在,则文件内容将被替换为任何内容。