写一个文件,如果它存在则追加,否则在bash中创建

我试图用变量的内容一个文件,但如果该文件不存在,请创建它:

到目前为止我得到了这个:

echo "$Logstring" >> $fileLog

我失踪的是因为当文件不存在时会出错. if条件是否必要?

#! /bin/bash
   VAR="something to put in a file"
   OUT=$1
   if [ ! -f "$OUT" ]; then
       mkdir -p "`dirname \"$OUT\"`" 2>/dev/null
   fi
   echo $VAR >> $OUT

   # the important step here is to make sure that the folder for the file exists
   # and create it if it does not. It will remain silent if the folder exists.
$sh out hello/how/are/you/file.out
geee: ~/src/bash/moo
$sh out hello/how/are/you/file.out
geee: ~/src/bash/moo
$sh out another/file/lol.hmz
geee: ~/src/bash/moo
$find . 
.
./out
./another
./another/file
./another/file/lol.hmz
./hello
./hello/how
./hello/how/are
./hello/how/are/you
./hello/how/are/you/file.out
geee: ~/src/bash/moo
$cat ./hello/how/are/you/file.out
something to put in a file
something to put in a file
geee: ~/src/bash/moo
$cat ./another/file/lol.hmz 
something to put in a file

如果文件夹在名称中有空格,则需要转义“for dirname”.

相关文章

用的openwrt路由器,家里宽带申请了动态公网ip,为了方便把2...
#!/bin/bashcommand1&command2&wait从Shell脚本并行...
1.先查出MAMP下面集成的PHP版本cd/Applications/MAMP/bin/ph...
1、先输入locale-a,查看一下现在已安装的语言2、若不存在如...
BashPerlTclsyntaxdiff1.进制数表示Languagebinaryoctalhexa...
正常安装了k8s后,使用kubect工具后接的命令不能直接tab补全...