I explained in a readable way the creation and meaning of shell variables, showing how to create and use them.
2.2 KiB
title, localeTitle
| title | localeTitle |
|---|---|
| Shell scripting | Scripts de shell |
Scripts de shell
Na linha de comando, um script de shell é um arquivo executável que contém um conjunto de instruções que o shell irá executar. Seu principal objetivo é reduzir um conjunto de instruções (ou comandos) em apenas um arquivo. Também pode manipular alguma lógica, porque é uma linguagem de programação.
Como criá-lo
- Crie o arquivo:
$ touch myscript.sh
- Adicione um shebang no início do arquivo. A linha Shebang é responsável por deixar o interpretador de comandos saber com qual interpretador o script de shell será executado:
$ echo "#!/bin/bash" > myscript.sh
# or
$ your-desired-editor myscript.sh
# write at the first line #!/bin/bash
- Adicione alguns comandos:
$ echo "echo Hello World!" >> myscript.sh
- Dê o modo de execução de arquivo:
$ chmod +x myscript.sh
- Execute-o!
$ ./myscript.sh
Hello World!
Mais informações sobre shell-scripting podem ser encontradas aqui
Variáveis
O shell apresenta muitos recursos úteis que o colocam em um patamar de uma linguagem de programação. Um desses recursos são as ## Variáveis. Com elas você pode salvar dados temporários e ate mesmo obter informações do usuário deixando seu script mais dinâmico.
O formato para a criação de uma variável é essa:
nome da variável=valor da variavel
Obs: Não deve haver espaços entre o nome ou o valor da variável e o sinal de '=', caso o contrário o bash interpretará o "nome da variavel" como sendo um comando, e o sinal de '=' e o "valor da variável" como sendo argumentos para o "nome da váriavel"
Exemplos de váriaveis
nome="Denilson Silva"
idade=20
Uma variável pode tambem conter a saída de um comando do shell, bastando apenas enclausurá-lo com "$()" ou "``".
Exemplo
data=$(date)
Para usar a variável que você criou, basta apenas colocá-la entre "${}".
Exemplo
nome="Denilson Silva"
idade=19
echo -e "Olá, eu me chamo ${nome} e tenho ${idade} anos de idade."