Introdução à Programação Shell |

Tutoriais Linux para sysadmin e usuários novos

Introdução à Programação Shell

3 min read
Introdução à Programação Shell 1

Bash é o shell, ou intérprete da linguagem de comandos, para o sistema operacional Linux . O nome é um acrônimo para Bourne Again SHell, um trocadilho com Stephen Bourne, autor do ancestral direto do atual shell do Unix sh, que apareceu na versão da sétima edição da Bell Labs Research do Unix Bash Reference Manual.

Introdução ao BASH

  • Desenvolvido pelo projeto GNU .
  • O shell Linux padrão.
  • Compatível com versões anteriores com o shell sh UNIX original .
  • O Bash é amplamente compatível com sh e incorpora recursos úteis do Korn shell ksh e do C shell csh.
  • Bash é o shell padrão para Linux . No entanto, ele roda em todas as versões do Unix e em alguns outros sistemas operacionais, como as plataformas ms-dos , os / 2 e Windows .

Citando a partir da página inicial oficial do Bash:

Bash é o shell, ou interpretador da linguagem de comandos, que aparecerá no sistema operacional GNU. Ele se destina a estar em conformidade com o padrão IEEE POSIX P1003.2 / ISO 9945.2 Shell e Ferramentas. Oferece melhorias funcionais sobre sh para programação e uso interativo. Além disso, a maioria dos scripts sh pode ser executada pelo Bash sem modificação.

As melhorias oferecidas pelo BASH incluem:

A sintaxe do Bash é uma versão aprimorada da sintaxe do shell Bourne. Na maioria dos casos, os scripts de shell Bourne podem ser executados pelo Bash sem problemas.

  • Edição de linha de comando.
  • Conclusão da linha de comando.
  • Tamanho ilimitado do histórico de comandos.
  • Controle imediato.
  • Matrizes indexadas de tamanho ilimitado (Matrizes).
  • Aritmética inteira em qualquer base de dois a sessenta e quatro.
  • Arquivos de inicialização do Bash - você pode executar o bash como um shell de logon interativo ou não-logon interativo.
  • Expressões condicionais de bash: usadas na composição de várias expressões para o teste interno ou para os comandos [[ou [.
  • A pilha de diretórios - histórico dos diretórios visitados.
  • O Shell Restrito: Um modo mais controlado de execução do shell.
  • Modo Bash POSIX: Fazendo com que o Bash se comporte de maneira mais próxima do que o padrão POSIX especifica.

Comandos do shell

O shell bash vem com dois tipos de comandos:

Comandos internos (builtins) - parte do próprio shell, ou seja, embutidos no shell.
Comandos externos - binários separados armazenados nos diretórios /sbin, /usr /sbin, /usr /bin, /usr /local.

Tipos de bash e comando

O shell bash entende os seguintes tipos de comandos:

  • Aliases como ll
  • Palavras-chave como se
  • Funções (funções definidas pelo usuário, como genpasswd)
  • Construído como pwd
  • Arquivos como /bin /date

O comando type pode ser usado para descobrir um tipo de comando.

comando type

O comando type pode ser usado para descobrir se um comando está embutido ou um arquivo binário externo.

Descubra se ls está embutido ou um comando externo

Digite o seguinte comando em um prompt de shell:

type -a ls

Saida:

ls está apelidada para `ls --color=auto'
ls é /usr/bin/ls
ls é /bin/ls

Para descobrir se o comando history está embutido ou um comando externo, digite:

type -a history

Saida:

history é um comando interno do shell

No entanto, alguns comandos são fornecidos como comandos internos e externos. Por exemplo:

type -a true
type -a echo

true é um comando interno do shell
true é /usr/bin/true
true é /bin/true

Lista de palavras-chave do bash de comando e comandos internos

JOB_SPEC &
(( expression ))
. filename
[[:]]
[ arg... ]
expression
alias
bg
bind
builtin
caller
case
command
compgen
complete
continue
declare
dirs
disown
echo
enable
eval
exec
exit
export
false
fc
fg
for
getopts
hash
help
history
if
jobs
kill
let
local
logout
popd
printf
pushd
pwd
read
readonly
return
select
set
shift
shopt
source
suspend
test
time
times
trap
true
type
typeset
ulimit
umask
unalias
unset
until
variables
while

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *