Sh脚本写入变量环境相关问题

在编写  快速的在Ubuntu Arm64中安装Java 这篇文章的脚本时

发现了一个奇葩的问题

我们正常人用命令写入文本到文件里面可能是这样写的

    echo 文本内容 >> 文本路径

    echo 文本内容 > 文本路径

先来说说第一个


第一个命令的意思是将 >> 前的内容写进文本,不覆盖,如果没有这个文本则创建这个文本


第二个命令的意思是将 > 前的内容写进文本,全覆盖,如果没有这个文本则创建这个文本


但是我们正写入含有"$"变量的时候就会发现

假如我的变量环境指引到一个目录

    $myfile=/root/test

然后我用命令写入文本

    echo $myfile >> /test

当我们在查看这个test文本的时候里面的内容则是

  /root/test

如果$myfile没有指引变量的话是直接显示空格的

这就会导致一写命令错误

我就是为了写Java那个脚本研究了几个小时

突然我在打游戏的时候脑子一闪,我啪的一下就把游戏关了,我在想把$myfile拿来单独处理不就可以了吗

我发现只有在命令里面输入

    echo '$'myfile >> /root/test

这样子test文件就只有$myfile就不会把$myfile指引的文件显示出来

就是这东西把我好几个小时的时间给我磨掉了

你可能感兴趣的:(Sh脚本写入变量环境相关问题)