Files

使用 echo ’’ 創建一個新的空文件不是創建一個空文件

  • December 11, 2021

我需要創建一個空文件。所以我用了這個:

echo "" > file

然後當我像這樣在我的程序中執行檢查(如果文件為空)時,

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

if 塊永遠不會執行。

當我使用 打開文件時nano file,文件中沒有任何內容。我什至試過這樣做print(file.content),輸出仍然是空的。

是什麼導致了這個錯誤?我能做些什麼來解決這個問題?

echo ""

輸出換行符,因此您的文件不為空,它包含換行符。ls -l會告訴你它的大小是一個字節。

要創建一個空文件,請使用沒有輸出的命令:

: > file
~ > 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’。

引用自:https://unix.stackexchange.com/questions/681033