Já escrevemos uma série de artigos sobre Linux Shell Scripting que foi calorosamente recebido naquela época e foi muito relevante até agora. Aqui está o link para a coleção de artigos sobre scripts de shell.
Aqui neste artigo, veremos o variáveis, sua execução e sua implementação em shell script.
A saída de um comando pode ser redirecionada para a saída padrão ou um arquivo e também pode ser armazenada em uma variável. Se a saída de um comando for grande o suficiente para que não caiba na tela, ficamos apenas com a opção de salvar a saída em um arquivo em uma variável. Uma vantagem de salvar a saída em variável é a velocidade de exame mais rápida. As variáveis são salvas na memória e, portanto, tendem a ser mais rápidas em comparação com a recuperação do arquivo.
As variáveis são um componente importante usado no script Shell e são declaradas usando o comando bash “Declarar”. Para declarar uma variável, diga 'nível‘, Precisamos executar o comando abaixo.
$ declare LEVEL
Observação: Precisamos usar “estampado”, Uma declaração embutida para compatibilidade do shell korn. O ‘declarar’ é mais avançado e contém todos os recursos, portanto, é recomendado ao usar o BASH.
Uma variável pode receber um valor usando um sinal de igual (=). Para atribuir uma string vazia a uma variável, não devemos fornecer nenhum valor após o sinal de igual.
$ LEVEL =
Verifique o valor armazenado na variável ‘LEVEL’ como.
$ printf "% i" $ LEVEL
printf, o comando mais de 'C'Os programadores estão cientes de, imprime dados. %eu - Representa o número inteiro. Podemos substituí-lo por % c para personagem ou % c para string, como e quando necessário.
$ LEVEL: Observe o ‘$'Que funciona como substituto de valor para a variável'NÍVEL'.
$ printf "% i" $ LEVEL. 0
Atribua um valor à variável.
$ LEVEL = 0
Verifique os dados armazenados na variável.
$ printf "% i" $ LEVEL. 0
NOTA: É interessante notar que em ambos os casos, quando não atribuímos o valor à variável e quando atribuímos o valor ‘0‘À variável‘NÍVEL‘Saídas 0. Embora a saída seja a mesma em ambos os casos, o script de shell lida com ambas as declarações de variáveis de maneira diferente.
Atribua um novo valor à variável.
$ LEVEL = 121
Verifique os dados armazenados na variável.
$ printf "% i" $ LEVEL. 121
Declarar é um comando BASH e cria variáveis apenas quando executado. A variável assim criada permanece na memória até que o script pare ou a variável seja destruída.
$ unset LEVEL
BASH acabou 50 variáveis predefinidas. Algumas dessas variáveis têm um significado especial associado ao BASH, por exemplo, uma variável ALEATÓRIA produz um número aleatório. Se não for definido e depois definido novamente, o valor da variável original será perdido para sempre. Portanto, é aconselhável não usar nenhuma variável definida pelo sistema.
Aqui está uma lista de algumas variáveis BASH úteis.
A regra de divisão de palavras.
$ LEVEL = 0. $ printf "% i" $ LEVEL. 0 E $ LEVEL = ”0” $ printf "% i" $ LEVEL. 0
Em ambos os casos, a saída permanece a mesma. Então, qual é a diferença no resultado ao usar a cotação?
Vamos verificar o mesmo com dados variáveis diferentes.
$ LEVEL = 0; 1; 2; 3; 4; 5. bash: 1: comando não encontrado bash: 2: comando não encontrado bash: 3: comando não encontrado bash: 4: comando não encontrado bash: 5: comando não encontrado
$ printf "% i" $ LEVEL. 0
Sem mencionar que a saída não está correta. BASH está ocupando o espaço após '0‘Como terminação e, portanto, o valor da variável é definido como‘0‘. Agora tentamos usar cotação para variáveis como abaixo.
$ LEVEL = ”0; 1; 2; 3; 4; 5” $ printf "% s" $ LEVEL 0; 1; 2; 3; 4; 5
Ainda assim, o resultado não está correto. O BASH pegou os valores das variáveis e removeu todos os espaços entre eles. Por isso printf não interpretou 0,1,2,3,4,5 como valores distintos. Então, qual é a solução?
printf "% s" "$ LEVEL" 0; 1; 2; 3; 4; 5
Isso! Colocar a substituição da variável entre aspas é a solução. As citações agrupam caracteres em shell e interpretam os caracteres especiais de maneira significativa.
As cotações podem ser usadas consecutivamente e é uma boa idéia colocar as substituições de variáveis entre aspas. Além disso, pode ser usado para separar o texto geral das citações. Aqui está um exemplo.
$ LEVEL = 5 $ FLAG_MESSAGE = "LIMPEI O NÍVEL" "$ LEVEL" ". Eu mereço apreciação. "$ Printf“% s ”“ $ FLAG_MESSAGE ”
“APAGUEI O NÍVEL5. Eu mereço apreciação. ”
Separar pedaços de texto citado com espaço resultará no mesmo problema discutido acima. O bash tratará o espaço em branco como término. Outra forma de substituição de variáveis é.
$ LEVEL = 5 $ FLAG_MESSAGE = "LIMPEI O NÍVEL $ {LEVEL}. Eu mereço agradecimento. "$ Printf“% s ”" $ FLAG_MESSAGE "“ EU APAGUEI O NÍVEL 5. Eu mereço apreciação. ”
As aspas simples impedem o BASH de imprimir caracteres especiais.
$ printf “% s” '$ FLAG_MESSAGE' “$ FLAG_MESSAGE”
A barra invertida funciona como aspas simples para um caractere. Já pensou como vai imprimir (“)?
$ printf "% c" "\" "
Quando % q agrupado com printf, fornece uma barra invertida após cada palavra para garantir o espaçamento entre as palavras.
$ LEVEL = 5 $ FLAG_MESSAGE = "LIMPEI O NÍVEL $ {LEVEL}. Eu mereço apreciação. "$ Printf“% q ”" $ FLAG_MESSAGE "“ EU \ TENHO \ LIMPEZA \ NÍVEL \ 5. \ Eu \ Mereço \ apreciação. ”
É tudo por agora. Sempre tentamos fornecer aos nossos leitores artigos que sejam úteis para eles de vez em quando. O artigo coberto acima é vasto, portanto, o restante dos tópicos com exemplos serão produzidos no próximo artigo, que incluirá ‘Atributos de variável’, ‘Exportação de variável’ etc.
Até então, fique atento e conectado Tecmint.com. Não se esqueça de nos fornecer seus valiosos comentários na seção de comentários abaixo.