shell – 将variables内容写入文件

我想将一个variables(这里称为var )的内容复制到一个文件中。

该文件的名称存储在另一个variablesdestfile

我遇到问题了。 以下是我所尝试的:

 cp $var $destfile 

我也尝试了与dd命令相同的东西…显然shell认为$var是指一个目录,所以告诉我,目录找不到。

我如何解决这个问题?

使用echo命令:

 var="text to append"; destdir=/some/directory/path/filename if [ -f "$destdir" ] then echo "$var" > "$destdir" fi 

iftesting$destdir表示一个文件。

>截断文件后追加文本。 如果您只想将$var的文本追加到文件现有内容中,则使用>>替代:

 echo "$var" >> "$destdir" 

cp命令用于复制文件(到文件),而不用于将文本写入文件。

如果我理解你的权利,你想复制$var在一个文件(如果它是一个string)。

 echo $var > $destdir 

当你说“复制一个variables的内容”时,该variables是否包含文件名,或者是否包含文件的名称?

我假设你的问题$var包含你想要复制到文件的内容:

 $ echo "$var" > "$destdir" 

这会将$ var的值复制到名为$ destdir的文件中。 注意引号。 将“$ var”引在引号中非常重要。 如果名称中有空格,也用于“$ destdir”。 要追加它:

 $ echo "$var" >> "$destdir" 

这可以帮助在bash shell中使用variables和cp命令

也看到这个为什么'cp'失败在这个shell脚本?