Quali sono le differenze tra i comandi “t.sh” “. t.sh ”“ /t.sh ”“ ./t.sh ”? [duplicare]
Sono nuovo in conchiglie, quindi mi sono bloccato con questo tipo di domanda. Qual è il modo più semplice per differenziare questi comandi?
Risposte
poiché
t.sh
la shell cercheràPATH
in ordine un file denominatot.sh
e lo eseguirà se lo trovaper
. t.sh
la shell cercheràPATH
nell'ordine un file denominatot.sh
ma lo originerà se lo trova.Nel caso della shell bash, il comportamento di ricerca per i comandi di origine ha considerazioni aggiuntive, come indicato in
man bash
:
When bash is not in posix mode, the current directory is searched if no file is found in PATH. If the sourcepath option to the shopt builtin command is turned off, the PATH is not searched.
per
/t.sh
la shell cercherà il filet.sh
nella directory root del filesystem/
e tenterà di eseguirloper
./t.sh
la shell cercherà il filet.sh
nella directory di lavoro corrente della shell.
e tenterà di eseguirlo
Guarda anche
Quali sono le differenze tra l'esecuzione di script di shell utilizzando “file sorgente.sh”, “./file.sh”, “sh file.sh”, “. ./file.sh "?
Qual è la differenza tra il sourcing ('.' O 'source') e l'esecuzione di un file in bash?