Qual è la differenza tra l'esecuzione di uno script come questo:
./test.sh
ed eseguendo uno script come questo:
. test.sh?
Ho provato un semplice script a due righe per vedere se riuscivo a trovare se c'era una differenza:
#!/bin/bash
ls
Ma entrambi . test.she hanno ./test.shrestituito le stesse informazioni.
test.shnon è lo stesso di ./test.sh(il primo invoca una PATHricerca), così sono . test.she sono . ./test.shdiversi allo stesso modo (il primo invoca una PATHricerca). Molte shell sembrano includere implicitamente .alla fine di PATHquando si esegue una .ricerca di percorso, ma questo comportamento non è standard. Così, è più corretto confrontare test.shvs . test.she ./test.shcontro . ./test.sh.