Erro com parâmetros

1. Erro com parâmetros

Perfil removido
removido

(usa Nenhuma)

Enviado em 04/12/2015 - 18:25h

Hello people. Então, eu criei um Shell Script para verificar quantos parâmetros foram usados e imprimir a seguinte frase na tela :
Se eu usar "bash script.sh Batata Nutela",
"Parametro 1 - Batata", "Parametro 2 - Nutela"
Eis o glorioso script ( script.sh ) :

#!/usr/bin/env bash

if [ "$#" -gt "0" ] ; then
i=1
while [ "$i" -ne "$#" ] ; do
echo "Parametro $i - $($i)."
i=$[i+1]
done
fi

Então, acredito que estou fazendo errado a parte do "$($i)", pois dá erro.
Gostaria de saber se há alguma solução para isso :). Agradeço desde já,
Boutrik.


  


2. Re: Erro com parâmetros

DAVISON MARCEL PASQUALINI
fdmarp

(usa Debian)

Enviado em 04/12/2015 - 20:28h

Tem duas formas de se fazer isso!! Quer dizer ... deve haver um milhão ... mas me ocorrem duas ... uma delas é utilizando o EVAL

A outra ... que é menos conhecida e mais elegante é a abaixo.

#!/bin/bash
if [ "$#" -gt "0" ] ; then
i=1
while [ "$i" -le "$#" ] ; do
echo "Parametro $i - ${!i}."
i=$[i+1]
done
fi



3. Re

Perfil removido
removido

(usa Nenhuma)

Enviado em 04/12/2015 - 21:05h

Vlw Fdmarp, aqui funcionou corretamente.
Porém eu tenho uma duvida no teu script rsrsrsrssr'
Na linha do incremento de i, você colocou :

i=$[i+1]

Mudaria alguma coisa se eu colocar :

i=$[$i+1]

Qual é o politicamente correto ? rsrsrsrs'
Além de que gostaria de saber mais sobre o EVAL. Você recomendaria algum link para mim ?
Agradeço desde já,
Boutrik






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts