我有一个打开文件并向其写入一些信息的项目。该文件需要存在,并且需要为空。需要在程序第一次运行时创建该文件,并且每次连续运行都需要清除该文件。
如果文件不存在,bash中是否有一种简单的方法可以创建文件,否则清除现有文件的内容?
答案 0 :(得分:4)
您不需要使用echo
或任何外部实用程序,只需使用shell内置函数即可。只需使用shell重定向运算符(> file
)。
$ mkdir testDir
$ cd testDir/
$ ls -l
total 0
$ > fileThatDoesNotExist
$ ls -1
fileThatDoesNotExist
即使文件中有一些内容,它也会起作用,它会截断其内容
$ echo 'whatever' > fileThatDoesNotExist
$ cat fileThatDoesNotExist
whatever
$ > fileThatDoesNotExist
$ cat fileThatDoesNotExist