У мене є сценарій, який починається так
#!/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".