Pular para o conteúdo

Ajuda na resolução de um script. [RESOLVIDO]

Responder tópico
  • Denunciar
  • Indicar

1. Ajuda na resolução de um script. [RESOLVIDO]

Enviado em 13/04/2011 - 22:14h

Galera,

Sou iniciante em shell e preciso fazer um .sh que resolva os seguintes questionamentos:

- Mostre o nome do script sendo executado;
- Mostre o primeiro, o terceiro e o décimo argumento passados por parâmetro para o script;
- Mostre o número total de argumentos passados por parâmetro para o script;
- Se foram mais de três parâmetros passados, imprima do quarto ao último parâmetro num arquivo de saída chamado saida.txt.

O que consegui fazer por enquanto é isso, mas não tá rodando:

#!/bin/bash

echo "Este é o nome do script:" $0

i=0
while test "$1"
echo $3
do
i=$((i+1))
echo "Parâmetro $i: $1";
if [i=3] then
echo "O terceiro argumento recebido foi o $3";
fi
shift
done

echo "Foram passados o total de $p argumentos."

Agradeço a ajuda.

Responder tópico

2. Re: Ajuda na resolução de um script. [RESOLVIDO]

Melhor resposta

Enviado em 14/04/2011 - 02:16h

#!/bin/bash
# author Paulo Riceli Dias Lelis (./.ronin)
# more http://sekysu.blogspot.com

echo $0
echo $1 $3 $10
echo $#

NPR=$#
PR=( $(echo ${@} ) )

if [ $NPR -gt 3 ]
then
for i in $( seq 4 1 "${NPR}" )
do
echo ${PR[$i]}
done >> saida.txt
fi

exit

3. Outra versão

Enviado em 14/04/2011 - 02:24h

#!/bin/bash
# author Paulo Riceli Dias Lelis (./.ronin)
# more http://sekysu.blogspot.com

echo $0 | sed 's/.*\///g'
echo $1 $3 $10
echo $#

NPR=$#
PR=( $(echo ${@} ) )
C=4

while [ $NPR -gt 3 ]
do
echo ${PR[$C]}
let NPR=NPR-1
let C=C+1

done >> saida.txt

4. Obrigado pela ajuda

Enviado em 14/04/2011 - 13:28h

Obrigado pela ajuda!

5. Re: Ajuda na resolução de um script. [RESOLVIDO]

Enviado em 15/04/2011 - 00:56h

A maneira mais adequada de agradecer um membro do VOL é finalizando o tópico e marcando a melhor resposta. Isso não só adciona pontos ao perfil do autor da resposta como oferece aumento de credibilidade ao tópico/site.

Peço que não se esqueça de fazer isso para todas as perguntas que por acaso fizeres no futuro neste fórum...

Muito obrigado!!!

Responder tópico

Responder tópico

Entre na sua conta para responder.

Fazer login para responder