In my Programm how can i Iterate trough ENV in bash
if [ ! -z $USER_1 ]
then
echo "$USER_1":$(openssl passwd -apr1 $PASS_1) > ./passwords
fi
if [ ! -z $USER_2 ]
then
echo "$USER_2":$(openssl passwd -apr1 $PASS_2) > ./passwords
fi
if [ ! -z $USER_3 ]
then
echo "$USER_3":$(openssl passwd -apr1 $PASS_3) > ./passwords
fi
if [ ! -z $USER_4 ]
then
echo "$USER_4":$(openssl passwd -apr1 $PASS_4) > ./passwords
fi
if [ ! -z $USER_5 ]
then
echo "$USER_5":$(openssl passwd -apr1 $PASS_5) > ./passwords
fi
And so on how can i do it with N "User" when i don't know N
EDIT April 14: my first version was incomplete, here is a fix.
Create a loop to loop through your users:
#!/bin/bash
USER_1=u1
USER_2=u2
N=5
for (( counter=1; counter<=N; counter++ ))
do
username=USER_${counter}
password=PASS_${counter}
echo "DEBUG: $username"
echo "DEBUG: ${!username}"
if [[ -n ${!username} ]]
then
#echo "$username:$(openssl passwd -apr1 "$password")"> ./passwords
echo "DEBUG: USER_${counter} inside if"
fi
echo "========="
done
counter
inside the other USER_?
variable.USER_1
and USER_2
will trigger the if
since USER_3
and more are not set.