Utilizzo di due variabili in un ciclo FOR in bash
Se si vogliono usare dei dati contenuti in colonne di un file di input, operare come segue:
#!/bin/bash
#
# Input file is chpasswd format:
# paolo.cabella:paolo
# marco.vassallo:marco
# We want to obtain
# user paolo.cabella@matras.it
# pass paolo
# is paolo.cabella here
# user marco.vassallo@matras.it
# pass marco
# is marco.vassallo here
IFSORI=$IFS
# Read an entire line for the '$(cat userlist)' expansion
IFS=$'\n'
for LINE in $(cat userlist)
do
# split LINE with : separator
IFS=':'
set -- $LINE # Parses variable "LINE"
#+ and sets positional parameters.
# The "--" prevents nasty surprises if $planet is null or
#+ begins with a dash.
# May need to save original positional parameters,
#+ since they get overwritten.
# One way of doing this is to use an array,
# original_params=("$@")
# Now $1=paolo.cabella and $2=paolo
echo user "${1}@matras.it"
echo pass "$2"
echo is $1 here
echo -e "\n"
done
IFS=$IFSORI