Guia do Linux/Iniciante+Intermediário/Explicações básicas/Interpretador de comandos

Origem: Wikilivros, livros abertos por um mundo aberto.

Interpretador de comandos[editar | editar código-fonte]

Também conhecido como "shell". É o programa responsável em interpretar as instruções enviadas pelo usuário e seus programas ao sistema operacional (o kernel). Ele que executa comandos lidos do dispositivo de entrada padrão (teclado) ou de um arquivo executável. É a principal ligação entre o usuário, os programas e o kernel. O GNU/Linux possui diversos tipos de interpretadores de comandos, entre eles posso destacar o bash, ash, csh, tcsh, sh, etc. Entre eles o mais usado é o bash. O interpretador de comandos do DOS, por exemplo, é o command.com.

Os comandos podem ser enviados de duas maneiras para o interpretador: interativa e não-interativa.

Interativa

Os comandos são digitados no aviso de comando e passados ao interpretador de comandos um a um. Neste modo, o computador depende do usuário para executar uma tarefa, ou o próximo comando.

Não-interativa

São usados arquivos de comandos criados pelo usuário (scripts) para o computador executar os comandos na ordem encontrada no arquivo. Neste modo, o computador executa os comandos do arquivo um por um e dependendo do término do comando, o script pode checar qual será o próximo comando que será executado e dar continuidade ao processamento.

Este sistema é útil quando temos que digitar por várias vezes seguidas um mesmo comando ou para compilar algum programa complexo.

O shell Bash possui ainda outra característica interessante: a completação dos nomes. Isto é feito pressionando-se a tecla TAB. Por exemplo, se digitar "ls tes" e pressionar <tab>, o Bash localizará todos os arquivos que iniciam com "tes" e completará o restante do nome. Caso a completação de nomes encontre mais do que uma expressão que satisfaça a pesquisa, ou nenhuma, é emitido um beep. Se você apertar novamente a tecla TAB imediatamente depois do beep, o interpretador de comandos irá listar as diversas possibilidades que satisfazem a pesquisa, para que você possa escolher a que lhe interessa. A completação de nomes funciona sem problemas para comandos internos.

Exemplo: ech (pressione TAB). ls /vm(pressione TAB)

Variáveis[editar | editar código-fonte]

O interpretador de comandos, quando é chamado, herda algumas variáveis do processo que o invocou. Analogamente, o interpretador de comandos pode chamar outros interpretadores de comando (por exemplo, chamando scripts); neste caso, algumas variáveis são herdadas e outras não.

Uma variável é definida usando-se simplesmente o sinal de igual:

x=10

Neste caso, definiu-se uma variável local, ou seja, esta variável não será herdada pelos processos filhos. Para que x seja herdada, é necessário escrever:

export x

Mais detalhes: Guia do Linux/Iniciante+Intermediário/Personalização do sistema/Variáveis de Ambientes.

Ver também[editar | editar código-fonte]