Caracteres Especiais do Shell - Linux Shell Essentials - Parte 4
Veja nesta continuação os caracteres especiais do Shell.
Bem vindo a continuação da nossa série de artigos sobre Linux Shell. Nos artigos anteriores nós vimos como o Shell funciona, quais os principais Shells no mercado e onde encontramos seus arquivos de configuração.
Caracteres Especiais do Shell:
Para atender sua necessidade de ser tanto um interpretador de comandos quanto uma linguagem de programação, o Bash possuí diversos caracteres especiais:
|
Caractere |
Finalidade/Significado |
Exemplo |
|
~ |
Home do usuário atual |
cd ~ ls -la ~ |
|
\ |
Escape do caractere seguinte: |
touch my\*file myfile my1file (cria um arquivo my*file) |
|
/ |
Separação de Diretórios |
cd /etc/apache2 ls /var/log |
|
$ |
Variável |
echo $PATH |
|
? |
Existe um caractere qualquer |
ls my?file |
|
' |
Cota absoluta |
echo 'não substitui: $PATH' |
|
` |
Executa comando/Substituição |
NOW=`date` ; echo $NOW |
|
“ |
Cota dupla |
echo “Este é o PATH: $PATH” |
|
* |
Qualquer caractere, nenhuma ou várias vezes |
ls m*file |
|
& |
Envia processo para o background |
xeyes& |
|
&& |
Operador AND curto-circuíto: se cmd1 executar com sucesso executa o segundo, senão encerra |
echo 1 && echo 2 fake && echo 2 |
|
| |
Pipe: Redireciona a saída de um comando para outro comando |
ls ~ | xargs wc |
|
|| |
Operador OR curto-circuíto: Se primeiro comando com sucesso não executa o segundo comando |
echo 1 || echo 2 fake || echo 2 |
|
; |
Executa os comandos em sequência |
cmd1; cmd2; cmd3... echo “O path é: “; echo $PATH echo “O home é: “; echo $HOME |
|
[] |
Range de caracteres |
$ touch file1 file2 file3 file4 $ ls file[1-4] |
|
> |
Redireciona saída |
Cmd > out_file.txt |
|
< |
Redireciona entrada |
Cmd < in_file.txt |
Valor retornado por comandos:
Como as funções em linguagens de programação, os comandos do GNU/Linux retornam um valor para o Shell. O valor retornado para o Shell indica o status da execução. O valor de retorno zero indica que o comando foi executado com sucesso. Qualquer outro valor indica um erro na execução do comando. O valor retornado fica armazenado na variável de ambiente $?.
exemplo:
$ echo "Usuario:home_dir:login_shell";grep thiago /etc/passwd |cut -d: -f1,6-7 && echo "estatus do comando: $?"
Usuario:home_dir:login_shell
thiago:/home/thiago:/bin/bash
estatus do comando: 0
$
Perceba: uma vez que a execução do comando anterior teve sucesso o valor de $? foi setado para zero. Caso eu utilize um comando incorreto, inexistente ou que eu não tenho permissão $? receberá um valor diferente de 0.
exemplo:
$ comando_inexistente ; echo "Erro $?"
-bash: comando_inexistente: command not found
Erro 127
$ rm / || echo "Erro. $?"
rm: cannot remove directory `/': �� um diret��rio
Erro. 1
$ rm -rf /root || echo "Erro: $?"
rm: cannot chdir from `.' to `/root': Permiss��ão negada
Erro: 1
Espero que esteja gostando da nossa série de artigos sobre o Shell do Linux. Nos vemos no próximo artigo, onde iremos ver como executar diversos comandos na mesma linha de comando.

Space do autor


0
0
