bash 脚本源:没有此文件或目录

bash 脚本源:没有此文件或目录

我有一个像这样开始的脚本

#!/bin/bash
VALKYRIE=~/myProjects/valkyrie
source $VALKYRIE/cluster.conf

但是当我运行它时它返回 line 2: ~/myProjects/valkyrie/cluster.conf: No such file or directory

但文件存在,运行时source ~/myProjects/valkyrie/cluster.conf运行良好。有什么想法吗?我VALKYRIE在其他地方设置了变量,因此路径中的硬编码不是一个选项。

答案1

~似乎无法正确扩展。当我使用故意伪造的路径运行您的脚本时,错误不会显示~,但会扩展路径(即/home/sparhawk/fakepath不是)~/fakepath。您可以尝试使用$HOME而不是~,或者在脚本中使用完整路径。

(我不确定为什么它~在你的系统上不起作用,因为你的脚本对我来说运行良好。)

相关内容