Estou tendo alguma dificuldade em entender o que é um script. Pelo que entendi, é um conjunto de comandos em um shell. E qual é a diferença entre um script bash e um script shell? alguém pode explicar esse conceito?
Responder1
dehttp://en.wikipedia.org/wiki/Shell_script:
Um shell script é um programa de computador projetado para ser executado pelo shell [Unix], um interpretador de linha de comando. Os vários dialetos de scripts de shell são considerados linguagens de script.
Em outras palavras: um script bash é um script shell, mas um script shell não é necessariamente um script bash.
Ao contrário de um aplicativo, um script geralmente é executado como uma série de comandos, de A a Z (embora possa ser executado em loop). Um script dificilmente recebe qualquer entrada do usuário depois de iniciado e geralmente é escrito para cumprir uma única tarefa.
Embora os aplicativos modernos geralmente sejam escritos em classes para cumprir uma gama mais ampla de tarefas, dependendo da decisão do usuário, um script geralmente executa seus comandos de cima para baixo, para sair assim que o trabalho for concluído.
Existem inúmeras linguagens de script, das quais o bash é apenas uma. Para mencionar alguns que são usados no Linux:Pitão,festa,perl,estranho,sed
Responder2
A diferença clássica entre scripts e programas é que os scripts são interpretados enquanto os programas são compilados e fornecidos em formato executável.
A definição está confusa hoje, pois você pode compilar scripts se realmente quiser (por exemplo: PHP compilado pelo Facebook) e as linguagens de programação modernas usam interpretação em níveis mais baixos (por exemplo: Java com JVM, .NET e IL)
Scripts shell são scripts que usam a linguagem de comando shell (sh). sh é uma especificação que possui múltiplas implementações. bash começou como uma implementação sh, mas tornou-se bem diferente, embora suporte um modo de compatibilidade sh.