O bash é uma linguagem de programação?

TL; DR; O que são scripts shell? É uma linguagem de programação / existe uma linguagem de programação que usamos em scripts shell?


Disclaimer : a bit offtopic
Então bash significa Bourne-again shell . Um Shell (Unix) é uma interface de usuário de linha de comando ou talvez se possa chamá-lo de um interpretador (?)

Então, estou a preencher uma candidatura para um novo emprego e pedem-te experiência em diferentes linguagens de programação e depois há isto. box at the bottom other experiences - I started typing python 2.7, powershell, bas...Espera! bash não é uma linguagem de programação - é um console que pode executar scripts shell... entao... eh.... meu Deus, não faço ideia!

 37
Author: boop, 2015-02-24

2 answers

Podemos dizer que sim, é uma linguagem de programação.

De acordo com man bash, Bash é uma "linguagem de comando compatível com o sh". Então, podemos dizer que uma " linguagem de comando "é"uma linguagem de programação através da qual um usuário se comunica com o sistema operacional ou uma aplicação".

De man bash:

Descrição

Bash é um interpretador de comandos compatível com o sh que executa comandos lidos a partir da entrada padrão ou de um ficheiro. Bater também incorpora recursos úteis das Conchas Korn e C (ksh e csh).

Http://www.gnu.org/software/bash/

Bash é a concha do projeto GNU. Bash é a concha Bourne outra vez. Bater é uma Sh-compatible shell que incorpora características úteis do Korn shell (ksh) e C shell (csh). Destina-se a estar em conformidade com o IEEE POSIX P1003.2/ISO 9945.2 Shell and Tools standard. Ele oferece melhorias funcionais em relação ao sh para ambos programação e interactividade usar. Além disso, a maioria dos scripts sh pode ser executado pela Bash sem modificacao.

E uma shell UNIX é... http://en.wikipedia.org/wiki/Unix_shell

Um shell Unix é um interpretador de linha de comandos ou um shell que fornece um interface de utilizador tradicional para o sistema operativo Unix e para Sistemas tipo Unix. Os utilizadores dirigem o funcionamento do computador por introduzir comandos como texto para um interpretador de linha de comandos a executar, ou ao criar scripts de texto de um ou mais desses comandos. Usuario tipicamente interage com um shell Unix usando um emulador de terminal, no entanto, operação directa através de ligações por hardware em série, ou sessão de rede, são comuns para sistemas de servidor.

 41
Author: fedorqui, 2015-02-24 11:04:54

Bash certamente é uma linguagem de programação, uma que se especializa no script do shell Unix / linux. É turing completo para que você possa (teoricamente) escrever qualquer programa em Bash.

 8
Author: Paul Evans, 2016-10-29 20:02:48