bash script source: Nenhum arquivo ou diretório

8

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 executo source ~/myProjects/valkyrie/cluster.conf ele é executado corretamente. Qualquer ideia? Eu defino VALKYRIE variable em outro lugar, então o código rígido no caminho não é uma opção.

    
por Khoi 01.06.2013 / 05:30

1 resposta

8

~ não parece estar se expandindo corretamente. Quando executo seu script com um caminho intencionalmente falso, o erro não diz ~ , mas expande o caminho (ou seja, /home/sparhawk/fakepath não ~/fakepath . Você pode tentar usar $HOME em vez de ~ ou usar o caminho completo no script.

(Não tenho certeza porque ~ não funciona no seu sistema, pois seu script funciona bem para mim.)

    
por Sparhawk 01.06.2013 / 06:21