Um shell executando um script é um shell não interativo.
Um shell não interativo ainda pode usar, e. read
para ler dados da entrada padrão.
Se a entrada padrão for um terminal, isso pode fornecer um nível de "interação", mas não faz com que o shell que está executando o script seja um shell interativo. O script será "interativo".
O texto é confuso porque usa a palavra "interativo" para significar duas coisas:
- Um shell que foi iniciado para executar um script de shell não é interativo (no sentido de que não possui controle de tarefa, ele não fornece um prompt por si só por padrão etc. etc.). Este é um termo técnico para o tipo de shell, assim como "shell de login" e "shell interativo".
- A ação de adquirir dados por este mesmo script pode ser "interativa" (se não estiver lendo, por exemplo, um canal ou um arquivo). Mas, novamente, qualquer comando que extraia dados da entrada padrão pode ser considerado interativo.
tr 'a-z' 'A-Z'
, por si só, "interativamente" transformará todos os caracteres ASCII em letras minúsculas em maiúsculas.