-
Notifications
You must be signed in to change notification settings - Fork 2
/
3) Argumentos posicionaisEsaidas.sh
70 lines (55 loc) · 1.97 KB
/
3) Argumentos posicionaisEsaidas.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
#Argumentos posicionais são os argumentos ou valores que
#passamos para o shell script durante a execução do script.
#Eles são acessados pelas variáveis $0, $1, $2… $9. Além disso, eles são referenciados por ${10}, ${11} e assim por diante.
#$# armazena o número de argumentos passados e $0 armazena o nome do script.
#!/bin/sh
echo "O número de argumentos é $#"
echo "O nome do script é $0"
echo "O primeiro argumento é $1"
echo "O segundo argumento é $2"
# Quando executado, passe um parametro para o bash (bash teste.sh 3 4)
# Perceba que informei dois parametros para ele, ele vai printar o 3 e 4
#Armazenando a saída dos comandos (duas formas):
name=$(um)
var2=`um comando Linux válido`
Exemplo..
#!/bin/sh
b=$(pwd)
c=`pwd`
ecoar $b
ecoar $c
d=$(ls /bin | grep bash)
ecoar $d
Exit Codes of shell commands:
Saída 0 significa que o programa rodou sem erros. Outras saídas indicam erros ( vão de 0 até 255)
Para ver o código, você pode usar $? ou definindo uma variável:
#!/bin/sh
b=$(pwd)
c=`pwd`
echo $b
echo $c
d=$(ls /bin | grep bash)
echo $d
saida=$?
if [ $saida -eq 0 ];then
# ou também.. if [ $? -eq 0 ];then
echo "Saida bem sucedida do comando"
echo $saida
fi
#Você pode definir manualmente um código de saída para seu script de shell. Isto pode ser usado com declarações condicionais para transmitir se o propósito do script foi alcançado ou não.
echo 0(sucesso) or echo 1(falhas)
#!/bin/bash
bash teste.sh 2> erros.txt
if [ $? -ne 0 ]; then
echo "Erro ao executar teste.sh. Verifique o arquivo erros.txt para detalhes."
else
echo "Bem sucedido"
fi
#!/bin/bash
a=$1
b=$2
#p=$(($a*$b))
echo "The product of $a and $b = $(($a*$b))"
O /dev/null é um arquivo especial. Você pode redirecionar saídas pra este dispositivo e o conteúdo será intencionalmente descartado. O redirecionamento para o /dev/null sempre reporta sucesso na escrita.
Ex: bash teste.sh 2>/dev/null
https://www.certificacaolinux.com.br/comando-linux-condutores/