Argumentos do Script - Linux

Ao executar um script, é possível passar alguns argumentos pela linha de comando. Dentro do script, esses argumentos estão disponíveis através de números de argumentos. Por exemplo, o primeiro argumento está disponível através de $1, o segundo argumento através de $2, e assim por diante. Também há um identificador especial, $0, que sempre armazena o nome do script.

Vamos definir o seguinte script hello:

#!/bin/bash
echo $0
exit 0

Neste caso, o script exibe no console o nome do próprio script. Vamos executar o script:

programicio@Programicio:~$ bash hello
hello

Agora, vamos passar um argumento para o script e utilizá-lo. Para isso, modificamos o script da seguinte forma:

#!/bin/bash
# o script aceita um argumento e o exibe no console
echo $1
exit 0

Neste caso, estamos exibindo o primeiro argumento no console usando o identificador $1. Vamos executar o script passando um argumento:

programicio@Programicio:~$ bash hello Tom
Tom

Os argumentos são especificados após o nome do script, separados por espaço. Aqui, passamos apenas um argumento, "Tom". Se for necessário passar uma string como argumento, onde as palavras são separadas por espaços, essa string deve ser colocada entre aspas:

programicio@Programicio:~$ bash hello "Hello www.programicio.com"
Hello www.programicio.com

Da mesma forma, é possível passar um número maior de argumentos. Por exemplo:

#!/bin/bash
# o script aceita argumentos e os exibe no console
ARG1=$1
ARG2=$2
ARG3=$3
SCRIPTNAME=$0
echo The name of this script is $SCRIPTNAME
echo The first argument is $ARG1
echo The second argument is $ARG2
echo The third argument is $ARG3
exit 0

Neste caso, passamos três argumentos. Vamos testar o script:

programicio@Programicio:~$ bash hello Tom 39 tom@mimimail.com
The name of this script is hello
The first argument is Tom
The second argument is 39
The third argument is tom@mimimail.com
programicio@Programicio:~$

Identificadores Especiais

Além de $0, é possível usar vários identificadores especiais dentro do script:

  • $#: número de argumentos

  • $@ e $*: string com os argumentos

Vamos usar esses identificadores no script:

#!/bin/bash
echo the number of arguments is $#
echo the arguments are $@
echo the arguments are $*
exit 0

Vamos chamar o script:

programicio@Programicio:~$ bash hello a b c
the number of arguments is 3
the arguments are a b c
the arguments are a b c
Política de Privacidade

Copyright © www.programicio.com Todos os direitos reservados

É proibida a reprodução do conteúdo desta página sem autorização prévia do autor.

Contato: programicio@gmail.com