Ho una sceneggiatura che inizia così
#!/bin/bash
VALKYRIE=~/myProjects/valkyrie
source $VALKYRIE/cluster.conf
ma quando lo eseguo ritorna
line 2: ~/myProjects/valkyrie/cluster.conf: No such file or directory
ma il file esiste e quando corro source ~/myProjects/valkyrie/cluster.conf
funziona bene. Qualche idea? Ho impostato la VALKYRIE
variabile altrove, quindi l'hard-code nel percorso non è un'opzione.
~
non espandersi correttamente. Quando eseguo il tuo script con un percorso intenzionalmente falso, l'errore non dice ~
, ma espande il percorso. Puoi provare a sostituire il ~
nel tuo script con il percorso assoluto? Inoltre, prova a eseguire quanto segue in uno script echo ~
.
$HOME
invece di ~
.
~/.pam_environment
non è uno script di shell, in modo da non fare le cose comuni che ci si aspetta da una shell, come espansione della tilde e l'espansione dei parametri, così non ~
ne $HOME
verrà sostituito. Se sposti invece quella linea ~/.profile
e la aggiungi export
in primo piano, dovrebbe funzionare.
source "${VALKYRIE}/cluster.conf"
.