(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.