Passando argumentos usando variáveis padrão:
Crie um novo arquivo com qualquer nome usando o comando "touch", e.g., "arquivo.sh ”.
$ touch filename
Abra este arquivo recém -criado e adicione algum script bash a ele. Eu adicionei algumas variáveis padrão, e.g. "$ 1", "$ 2" e "$ 3" consequentemente. Quaisquer que sejam os argumentos que serão passados através do terminal serão armazenados nas variáveis declaradas.
Você tem que executar este arquivo usando o “./”Comando seguido de alguns argumentos. Como você pode ver na imagem que, quando passei os argumentos, ocorre um erro: permissão negada. Isso ocorre porque este arquivo não tem direitos de execução.
$ ./nome do arquivo argumento1 argumento2 argumento
Portanto, para conceder os direitos de execução a este arquivo, use o comando sudo "chmod" para fazer isso.
$ sudo chmod +x nome do arquivo
Agora, execute novamente o arquivo usando o mesmo comando acima. Desta vez, forneci argumentos diferentes. Você verá os argumentos recém -passados são armazenados nas variáveis padrão.
Passando o nome do script do shell como argumento:
Agora, usando o mesmo arquivo antigo “Arquivo.sh ”com uma pequena mudança em suas variáveis padrão. Você deve adicionar a variável "$ 0" no script, como mostrado.
Ao executar o mesmo “./”Comando de script shell, o nome do seu script de shell, e.g. ““./nome do arquivo "será armazenado na variável" $ 0 "como argumento.
Passando argumentos como uma matriz para a variável:
Começando com o mesmo arquivo “arquivo.sh ”, você deve adicionar algumas linhas extras no script antigo. Declare uma variável chamada "Array". Adicione uma variável padrão "$@" que armazenará os argumentos inseridos pelo usuário como uma matriz. Esses argumentos serão analisados para a variável "Array". A última linha exibirá todos os argumentos da variável "Array" classificada pelo número do índice.
Executar o “./”Shell script. Você verá que ele exibirá os argumentos ou valores armazenados como uma matriz em "$@" analisada para variável "Array", mas não o nome do script da shell na segunda instrução "Echo". Você terá a seguinte saída.
$ ./nome do arquivo argumento1 argumento2 argumento
Use o mesmo arquivo com o mesmo script. Basta remover o "$ Array [3]" da última linha tão clara na imagem.
Depois de executar o “./”Comando, você verá uma saída semelhante à do exemplo acima, sem alteração.
Você também pode obter o mesmo resultado substituindo a última linha do script Bash por uma única palavra. Você só precisa adicionar "$@" na declaração de eco e exibirá os argumentos presentes nesta matriz variável.
Então, executando o “./”Comando novamente, você obterá os mesmos resultados.
Verifique o número total de argumentos aprovados:
Pelo contrário, se você quiser saber o número total de argumentos aprovados pelo usuário, você também pode fazer isso. Para esse fim, você só precisa substituir "$@" por "$#" em "Echo".
Novamente executando o “./”Comando, agora você vai ver toda a figura de argumentos passados para o script. No nosso caso, 3 argumentos são passados como valor.
Crie a saída de linha por linha dos argumentos:
Crie um novo arquivo “Teste.sh ”no diretório doméstico. Adicione o script bash como mostrado.
Agora execute o mesmo comando antigo com argumentos diferentes. Em primeiro lugar, você verá o erro: permissão negada.
Você tem que executar o comando "chmod" para conceder este arquivo privilégios de sudo. Depois disso, execute o “./”Comando de script do shell novamente. E você receberá a linha por linha de saída de argumentos.
Limite a variável via número do índice de argumento:
Se você deseja limitar a variável usando seu número de índice, pode fazê -lo com muita facilidade. Adicione suportes encaracolados após o sinal "$" e adicione o número do índice de argumento que você deseja exibir antes de outros argumentos.
Se os argumentos fornecidos pelos usuários forem menores que o número do índice fornecido na variável limite, você obterá um valor de argumento vazio. Como exemplo, eu forneci 4 argumentos, mas dei o valor do argumento "05" a ser exibido. Nesta situação, a variável será exibida vazia porque o quinto argumento não foi aprovado.
Mas quando você passa o número igual ou mais de argumentos no comando, você receberá o valor exibido no resultado como mostrado.
Verificando argumentos específicos de valor:
Faça um novo arquivo com o nome “Verifique.sh ”em seu diretório doméstico. Adicione o mesmo script Bash, como mostrado na imagem abaixo. Neste script, temos uma variável "var" para armazenar o valor do argumento aprovado pelo usuário. Então temos uma declaração "se", que verificará o valor do argumento a ser correspondente ou não. Se o valor do argumento for comparado com o valor fornecido nos parênteses, a primeira declaração "eco" será executada. Se o valor não corresponder, a segunda declaração "eco" será executada.
Quando executamos o comando script shell, ele levantará um erro. Ao usar o comando "chmod", podemos corrigir este erro.
Depois disso, execute o script do shell para o arquivo específico com algum valor de argumento. No nosso caso, fornecemos "aqsa" como valor de argumento, que é o mesmo que o valor exibido nos parênteses. Portanto, o script bash executará a primeira declaração "eco", como mostrado.
Por outro. Aqui, eu adicionei "rimsha" como um valor de argumento, que é diferente do valor fornecido na declaração if. Portanto, o script bash executará a segunda declaração "eco".
Conclusão:
Espero que este guia tenha ajudado você a ter uma forte aderência sobre como passar argumentos para variáveis padrão, aprovar o valor do argumento como uma matriz para uma variável, obter o número total de argumentos passados, linha por linha de saída dos argumentos, limitar o argumento saída usando o número do índice, verificando o argumento do valor específico e muito mais.