Ho una fonte bash run.shcome 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.shche per l' ./run.shesecuzione. Ho provato returnanche io , che non funziona bene in fase di ./run.shesecuzione.
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*?