Defina uma variável dentro de uma função [fechada]

0

Eu estou querendo saber se é possível fazer como JavaScript, chamando uma variável de uma função, algo como:

function myFunction(variable){
// do some stuff here

}

Em seguida, chamamos assim:

myFunction('Hello World!');

Então, essa é a maneira de lidar com isso:

convertSecs(){

seconds=$1

hours=$((seconds / 3600))
seconds=$((seconds % 3600))
minutes=$((seconds / 60))
seconds=$((seconds % 60))

echo "$hours hour(s) $minutes minute(s) $seconds second(s)"
}

convertSecs 3680

Obrigado pelo seu conselho

    
por Abu Rayane 29.03.2016 / 05:41

1 resposta

2

Não, bash lida com isso de maneira diferente.

Na verdade, bash usa parâmetros posicionais (argumentos) em vez de usar diretamente o formato usual function_name(input_var) .

Dentro da definição da função, use $1 para o primeiro argumento para a função, $2 para segundo e assim por diante. Ao referenciar a função, apenas marque os parâmetros após o nome da função (mantenha a sequência desejada).

Exemplo:

$ foo () { echo "This is $1" ;}
$ foo bar
This is bar

$ foo () { echo "First: $1; Second: $2" ;}
$ foo bar spam
First: bar; Second: spam
    
por heemayl 29.03.2016 / 05:46