Eu tenho um script que começa assim
#!/bin/bash
VALKYRIE=~/myProjects/valkyrie
source $VALKYRIE/cluster.conf
mas quando eu corro ele retorna
line 2: ~/myProjects/valkyrie/cluster.conf: No such file or directory
mas o arquivo existe e quando eu o executo source ~/myProjects/valkyrie/cluster.confele corre bem. Qualquer ideia? Defino a VALKYRIEvariável em outro lugar, para que o código rígido no caminho não seja uma opção.
não, isso não ajuda.
—
Khoi
Eu acho que tem algo a ver com
—
Sparhawk
~não expandir adequadamente. Quando executo seu script com um caminho intencionalmente falso, o erro não diz ~, mas expande o caminho. Você pode tentar substituir o ~no seu script pelo caminho absoluto? Além disso, tente executar o seguinte em um script echo ~.
Você também pode tentar em
—
Sparhawk
$HOMEvez de ~.
@Khoi Isso explica tudo.
—
Geirha
~/.pam_environmentnão é um script de shell, por isso não faz as coisas comuns que você esperaria de um shell, como expansão de til e expansão de parâmetros, portanto, ~nem $HOMEserão substituídos. Se você mover essa linha para ~/.profile, e adicionar export na frente, ela deve funcionar.
source "${VALKYRIE}/cluster.conf",.