web-dev-qa-db-fra.com

source de script bash: Aucun fichier ou répertoire de ce type

J'ai un script qui commence comme ça

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

mais quand je le lance, il retourne line 2: ~/myProjects/valkyrie/cluster.conf: No such file or directory

mais le fichier existe et quand j’exécute source ~/myProjects/valkyrie/cluster.conf il fonctionne très bien. Une idée? Je mets la variable VALKYRIE ailleurs afin que le code physique du chemin ne soit pas une option.

9
Khoi

~ ne semble pas se développer correctement. Lorsque j'exécute votre script avec un faux chemin intentionnel, l'erreur ne dit pas ~, mais élargit le chemin (c'est-à-dire /home/sparhawk/fakepath et non pas ~/fakepath. Vous pouvez essayer d'utiliser $HOME au lieu de ~ ou d'utiliser le chemin complet dans le script.

(Je ne sais pas pourquoi ~ ne fonctionne pas sur votre système, car votre script fonctionne correctement pour moi.)

8
Sparhawk