我正在写一个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/