Ho una fonte bash run.sh
come segue,
#!/bin/bash
if [ $# -ne 1 ]; then
exit
fi
...
quando lo eseguo in due modi, ci sono comportamenti diversi. Il primo modo è,
source run.sh
Chiuderà il terminale dopo l'esecuzione. Il secondo modo è
./run.sh
questo finirà semplicemente di eseguire lo script e rimarrà sul terminale. Sto chiedendo se esiste un comando per uscire da uno script bash sia per l' esecuzione source run.sh
che per l' ./run.sh
esecuzione. Ho provato return
anche io , che non funziona bene in fase di ./run.sh
esecuzione.
Più in generale, sono interessato al motivo per cui ciò sta accadendo e alla differenza tra l'utilizzo di "source" e "." per l'esecuzione dello script?
$- = *i*
?