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.conffunziona bene. Qualche idea? Ho impostato la VALKYRIEvariabile 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 ~.
$HOMEinvece di ~.
~/.pam_environmentnon è 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 $HOMEverrà sostituito. Se sposti invece quella linea ~/.profilee la aggiungi export in primo piano, dovrebbe funzionare.
source "${VALKYRIE}/cluster.conf".