У мене є сценарій, який починається так
#!/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
змінну в іншому місці, тому жорсткий код у шляху не є варіантом.
ні, це не допомагає.
—
Хой
Я думаю, що це щось із тим, щоб
—
Sparhawk
~
не розширюватися належним чином. Коли я запускаю ваш сценарій навмисно підробленим шляхом, помилка не говорить ~
, але розширює шлях. Чи можете ви спробувати замінити ~
сценарій на абсолютний шлях? Також спробуйте виконати наступне у сценарії echo ~
.
Ви також можете спробувати
—
Sparhawk
$HOME
замість цього ~
.
@Khoi Це пояснює це.
—
geirha
~/.pam_environment
не є скриптом оболонки, тому він не робить загальних речей, які ви очікували від оболонки, таких як розширення тилди та розширення параметрів, тому ні їх, ~
ні їх $HOME
не буде замінено. Якщо ~/.profile
замість цього перемістити рядок і додати export
спереду, він повинен працювати.
source "${VALKYRIE}/cluster.conf"
.