J'ai une source bash run.sh
comme suit,
#!/bin/bash
if [ $# -ne 1 ]; then
exit
fi
...
quand je l'exécute de deux manières, il y a des comportements différents. La première façon est,
source run.sh
Il fermera le terminal après exécution. La deuxième façon est,
./run.sh
cela terminera simplement l'exécution du script et restera sur le terminal. Je demande s'il y a une commande pour quitter un script bash pour les deux source run.sh
et l' ./run.sh
exécution. J'ai essayé return
aussi, ce qui ne fonctionne pas bien en cours d' ./run.sh
exécution.
Plus généralement, je suis intéressé par la raison pour laquelle cela se produit, et quelle est la différence entre l'utilisation de "source" et "." pour l'exécution de script?
$- = *i*
?