2010-10-21 18 views
5

Nel mio file .sh, ho questo, cp $file $SOME_PATH, mentre $ SOME_PATH viene esportato come export SOME_PATH="~/path/to/path/". Ma quando ho eseguito questo file .sh, ho ricevuto un messaggio di errore che diceva che * non esiste "~/percorso/percorso /". * Ho sostituito ~ come $ HOME, quindi l'errore era scomparso. Allora, che succede qui con la tilde?espansione tilde nella variabile di ambiente

Grazie in anticipo.

risposta

7

uso

SOME_PATH=~/path/to/path/ 

se percorso hanno spazi, citarlo

SOME_PATH=~/"path with spaces" 
+0

"percorso con spazio" -> percorso \ con \ spazio –

+0

+1, che funziona. – codaddict

1

rimuovere le virgolette sul export:

export SOME_PATH=~/path/to/path/ 
+0

Grazie, ma questo sembra non disponibile, sia . – dutor

+0

Oh, mi dispiace. In realtà, ho usato cp $ file "$ SOME_PATH".^_^ – dutor

+0

Funziona con tutte le virgolette rimosse? Devi fondamentalmente impedire l'interpretazione letterale. – chrisaycock

Problemi correlati