shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [shell-script] Função em shell script


From: Tiago Peczenyj
Subject: Re: [shell-script] Função em shell script
Date: Wed, 15 Aug 2018 09:56:52 +0200

Eu acho q entendi o problema 

(Estou respondendo do celular, de ferias, desculpem se ja foi respondido)

Variáveis especiais $1 $2 etc dependem do contexto 

Em um script se referem aos argumentos de execução do mesmo

#!/bin/sh
echo “fui executado com argumentos: 1=$1 e 2=$2”

Mas dentro de funções eles se referem ao argumentos que vc passou para as mesmas

function foo(){
  echo “fui chamado com argumentos... $1,$2”
}

Mas a função não ve os argumentos do script

Vc pode fazer

#!/bin/sh

function foo(){ ... }

foo $2

Que deve funcionar 

Em qua, 15/08/2018 às 09:33, address@hidden [shell-script] <address@hidden> escreveu:
 

Segue o script funcionando. Aqui eu pego o valor de $2 e atribuo a VAR, o que resolve:

#!/bin/bash

# Verifica a versão do SOA

var=$2;

function soa {

if [[ $var == "f" ]]; then

dig @f1.f.dns.br com.br SOA +short | cut -d " " -f 3

else

echo "Erro!"

fi

}

        case $1 in

                -h)

                soa

                ;;

esac


Segue como eu queria que fosse usando o próprio $2, coloquei entre aspas como Alfred mencionou mas não deu certo. :

#!/bin/bash

# Verifica a versão do SOA

function soa {

if [[ "$2" == "f" ]]; then

dig @f1.f.dns.br com.br SOA +short | cut -d " " -f 3

else

echo "Erro!"

echo "cifrão1=$1, cifrão2=$2"

fi

}

        case $1 in

                -h)

                soa

                ;;

esac


---Em address@hidden, <atcasanova@...> escreveu:

Passe os parâmetros delimitados por aspas

On Tue, Aug 14, 2018 at 1:20 PM Maik Alberto maik.alberto@... [shell-script] <shell-script@...> wrote:
 

Talvez enviar o codigo fique mais fácil para o pessoal ajudar.

funcao(){
echo $1
echo $2
}
funcao a b




De: shell-script@... <shell-script@...> em nome de brunodiasinfo@... [shell-script] <shell-script@...>
Enviado: terça-feira, 14 de agosto de 2018 13:10
Para: shell-script@...
Assunto: [shell-script] Função em shell script
 

 

Olá a todos,

Eu tenho um script que consulta o SOA de algumas lâminas DNS, e uma das minhas funções é fazer essa pesquisa, para fazer a pesquisa eu uso parâmetros, sendo $1 a opção de consulta e $2 a lâmina DNS.

A função em si não reconhece o valor de $2, mas reconhece o valor de $1, uma alternativa foi passar o valor de $2 para uma variável, mas eu quero passar $2 e não uma variável, será que poderiam me ajudar. Desde já obrigado.

 

--
Tiago B. Peczenyj

http://about.me/peczenyj

reply via email to

[Prev in Thread] Current Thread [Next in Thread]