2013-02-15 9 views
8

Quindi, a quanto pare, non è possibile eseguire lo script source se tale script si trova nella directory corrente. Ad esempio,non è in grado di scrivere script in una directory corrente

# source some/dir/script.sh 
Ok 

funziona bene, ma se io sono nella stessa directory dello script, esso errori fuori:

# cd some/dir 
# source script.sh 
-sh: source: script.sh: file not found 

cosa succede? L'unico modo per cambiare directory?

Sto usando bash v4.2.10 su Angstrom Linux se questo è rilevante.

risposta

12

Citando la pagina di origine dell'uomo:

fonte nomefile [argomenti]

....

Se il nome del file non contiene una barra, archiviare nomi in PATH sono usati per trovare la directory contenente il nome del file .

Quindi ... source sta cercando di cercare il vostro script.sh nelle cartelle contenute nel PATH.

Se si desidera eseguire un file nella cartella corrente utilizzare

source ./script.sh 
1

Utilizzare un percorso assoluto - source /root/path/to/some/dir/script.sh - deve ordinare l'utente.