创build文本文件,并使用bash填充它
我需要创build一个文本文件(除非它已经存在),并使用bash写一个新的文件到文件。
我确定这很简单,但有谁能解释这个给我?
如果你想把它作为一个脚本,下面的Bash脚本应该做你想做的(加上告诉你什么时候该文件已经存在):
#!/bin/bash if [ -e $1 ]; then echo "File $1 already exists!" else echo >> $1 fi 如果你不想要“已经存在”的信息,你可以使用:
 #!/bin/bash if [ ! -e $1 ]; then echo >> $1 fi 
编辑关于使用:
用你喜欢的名字保存任何一个版本,让我们说“create_file”(引用我的,你不希望他们的文件名)。 然后,要使文件可执行,请在命令提示符下执行:
 chmod u+x create_file 
将文件放在path中的目录中 ,然后将其用于:
 create_file NAME_OF_NEW_FILE 
$ 1是一个特殊的shellvariables,它在程序名后面的命令行中使用第一个参数; 即$ 1将在上面的用例中提取NAME_OF_NEW_FILE。
在unix中创build一个文本文件可以通过文本编辑器(vim,emacs,gedit等)完成。 但是你想要的可能是这样的
 echo "insert text here" > myfile.txt 
这将把文本插入到文件myfile.txt中。 要validation这个工作使用命令'猫'。
 cat myfile.txt 
如果你想追加到一个文件使用这个
 echo "append this text" >> myfile.txt 
假设你的意思是UNIX shell命令,就运行
 echo >> file.txt 
  echo打印一个换行符,并且>>告诉shell将该换行符追加到文件中,如果该文件不存在则创build。 
然而,为了正确回答这个问题,我需要知道如果文件已经存在,你想要发生什么。 例如,如果您想用换行符replace当前的内容,则可以使用
 echo > file.txt 
编辑:并回应贾斯汀的评论,如果你想添加新行,只有当文件不存在,你可以做
 test -e file.txt || echo > file.txt 
至less在Bash里有效,我不确定它是否也在其他shell中。
你的问题有点含糊。 这是一个shell命令,可以执行我想要的操作:
 echo >> name_of_file