En tant que langage de programmation les scripts shells peuvent être de simples séries de commandes invariables, à exécuter à la suite, sans intervention extérieure, on parlera d'un script passif. Si le script modifie son comportement en fonction de parametres extérieurs mais sans intervention humaine, on parle de scripts semi-interactif, enfin un script qui réagit en fonction d'un dialogue avec un utilisateur et un script interactif.
Cependant bash démarre en mode interactif lorsqu'il est lancé
sans arguements ou avec l'option -i
et démarre en mode passif
lorsqu'il est lancé avec un script. La différence est l'utilisation des
librairies readline et history, certains paramétrages et le lancement
des scripts d'initialisation .bashrc etc.