(5 risposte)
Chiuso 6 anni fa.
t
è un semplice script
Cosa c'è di diverso tra i due casi seguenti:
$ . t
e
$ ./t
Risposta accettata:
. t
non aprirà una nuova shell per eseguire t, quindi tutte le variabili create o modificate rimarranno dopo l'esecuzione. t verrà cercato in $PATH, quindi se volevi eseguire t dal percorso in cui ti trovi in questo momento il comando avrebbe dovuto essere . ./t
./t
eseguirà t che si trova nel percorso in cui stiamo generando una shell per l'esecuzione.
Per chiarire un po' di più. Supponiamo che t contenga:
#!/bin/bash
data=hello
Dopo esegui ./t
puoi echo $data
dalla riga di comando e non otterrai nulla, ma se esegui . ./t
ed esegui echo $data
riceverai un saluto sul tuo schermo.