使用 echo "" 创建新的空文件并不是创建空文件

使用 echo "" 创建新的空文件并不是创建空文件

我需要创建一个空文件。所以我用了这个:

echo "" > file

然后,当我像这样在程序中执行检查(如果文件为空)时,

if(file.content == '')
   do something

if 块永远不会执行。

当我使用 打开文件时nano file,文件中没有任何内容。我什至尝试这样做print(file.content),输出仍然是空的。

是什么导致了这个错误?我能做些什么来解决这个问题?

答案1

echo ""

输出一个换行符,因此您的文件不是空的,它包含一个换行符。ls -l会告诉你它的大小是一字节。

要创建空文件,请使用不带输出的命令:

: > file

答案2

~ > echo "" > t                                                                                                                       bill at LAPTOP-0GVE7LSM
~ > cat t                                                                                                                             bill at LAPTOP-0GVE7LSM

~ > vim tt                                                                                                                            bill at LAPTOP-0GVE7LSM
~ > cat tt                                                                                                                            bill at LAPTOP-0GVE7LSM
~ >                                                                                                                                   bill at LAPTOP-0GVE7LSM

如下图,cat获取到了文件中的内容。

在文件 tt 中,我实际上什么也没输入,它输出什么也没有。

然而,在文件 t 中,您添加了一个新行,即“\n”。

相关内容