我正在写一个shell脚本,它对文件执行一些操作。
此脚本将在不同的服务器上运行,因此我希望保留主目录中这些文件的路径。

DAT_FILE_PATH='$HOME/projs/build/dat'

我用ksh做外壳。
上述路径确实存在。如果我在控制台中运行cd
cd $HOME/projs/build/dat

这很管用。但在脚本中,如果我做ls$HOME/projs/build/dat'。上面说没有这样的文件或目录。
同样,如果我在sed上使用$HOME/projs/build/dat/abc.dat,则结果相同。

最佳答案

尝试双引号

DAT_FILE_PATH="$HOME/projs/build/dat"

“在命令行处理变量时,单引号和双引号之间的差异变得更重要”
Go here for more details

关于linux - Shell脚本:无法在路径中使用$ HOME或〜遍历文件,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13100205/

10-15 12:05