msoliver
(usa Debian)
Enviado em 20/05/2024 - 20:58h
dark777 escreveu:
msoliver escreveu:
Só um detalhe.
$# é referente aos argumentos passados pela "linha de comando" .
Att.: Marcelo
esta contando a quantidade de argumentos passadas ao read.
wiki.anon
#------------------------------------------------------------------------------#
A afirmação:
esta contando a quantidade de argumentos passadas ao read.
É incorreta!
#-----------------------------------------------------------------------------#
IFS="|" read -a strings
string00|string01|string02|string03|string04
echo ${strings[@]}
string00 string01 string02 string03 string04
echo ${#strings[@]}
5
#------------------------------------------------------#
#!/usr/bin/env bash
echo -e "Todos Args:$@\nQtdd Args:$#"
n=1
echo '#----------------------------#'
for x in $@;do
echo "$n $x";let n++;
done
echo '#----------------------------#'
./tst.sh um dois tres quatro cinco
Todos Args:um dois tres quatro cinco
Qtdd Args:5
#----------------------------#
1 um
2 dois
3 tres
4 quatro
5 cinco
#----------------------------#
read -p "header: " HEADER1 HEADER2 HEADER3
header: x00 x01 x02
#---------------------------#
echo $#
0
#--------------------------#
echo $HEADER{1,2,3}
x00 x01 x02
#--------------------------#
Leitura recomendada:
https://aurelio.net/shell/canivete/#variaveis
.
.
.
$# Número total de parâmetros da linha de comando ou função