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
if
testing$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脚本?