У меня есть скрипт, который начинается примерно так
#!/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
в другом месте, так что жесткий код в пути не вариант.
~
не расширяется должным образом. Когда я запускаю ваш скрипт с намеренно фальшивым путем, ошибка не говорит ~
, но расширяет путь (т. Е. /home/sparhawk/fakepath
, а не ~/fakepath
. Вы можете попробовать использовать $HOME
вместо ~
или использовать вместо этого полный путь в скрипте.
(Я не уверен, почему ~
не работает в вашей системе, так как ваш скрипт работает нормально для меня.)