【问题标题】:Shell Script: Not able to traverse files using $HOME or ~ in the pathShell 脚本:无法在路径中使用 $HOME 或 ~ 遍历文件
【发布时间】:2012-10-27 12:32:28
【问题描述】:

我正在编写一个对文件执行一些操作的 shell 脚本。 该脚本将在各种服务器上运行,因此我想保留这些文件的主目录路径。

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

我使用 ksh 作为 shell。 上述路径确实存在。如果我在控制台中运行 cd

cd $HOME/projs/build/dat

这行得通。但是如果我在脚本中执行 ls $HOME/projs/build/dat'。它说没有这样的文件或目录。

同样,如果我在$HOME/projs/build/dat/abc.dat 上使用sed,结果是一样的。

【问题讨论】:

    标签: linux shell


    【解决方案1】:

    试试双引号

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

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

    【讨论】:

      猜你喜欢
      • 2021-05-31
      • 1970-01-01
      • 2011-03-21
      • 1970-01-01
      • 2016-11-26
      • 2015-11-02
      • 2013-12-07
      • 2016-03-01
      相关资源
      最近更新 更多