Seu terminal executa um shell (provavelmente bash
), que é o que solicita seus comandos e os executa.
Além deste modo interativo, você também pode usar seu shell para executar comandos de um arquivo. Para executar os comandos em seu arquivo, você pode chamar o shell diretamente como bash script
ou pode iniciar seu arquivo com um "shebang" #!/bin/bash
e torná-lo executável ( chmod +x script
). Então você pode tratar o script como um binário e executá-lo, por exemplo, como ./script
ou colocá-lo em um local onde você está procurando por shell. ( echo $PATH
)
Provavelmente, tanto o shell interativo quanto o shell usado para executar é bash
.
Do ponto de vista de um "primeiro dia de aprendizado do linux", o bash funciona exatamente da mesma maneira em ambos os modos. - Muito mais tarde você pode se deparar com pequenas diferenças. Se você realmente quiser saber em detalhes, sugiro ler man bash
e procurar por lugares que mencionem "interativo". (Você pode pesquisar uma página man, pressionando /
.)
Uma coisa importante a notar é que o script é executado como um novo processo. Isso significa especialmente que as variáveis configuradas no script não estão visíveis no shell de chamada.
$ export a=1
$ echo $a
1
$ bash -c 'echo $a;a=2;echo $a' # change the value in a script
1
2
$ echo $a # value not changed here
1
$
Sem a exportação, a
não é visível para o script interno.