Montar em loop sobre uma matriz (o nome tem um espaço) [duplicado]

1

Então, estou tentando escrever um pequeno script que faz um loop em uma lista de matriz, como

if [ $EUID != 0 ]; then
   sudo "$0" "$@"
   exit $?
fi
echo "Please enter repo password"
stty -echo
read PASSWORD
stty echo
REPOS=("repo one" "repo 2" "repo 3")
for i in "${REPOS[@]}"
do
   sudo mount //$IPLOCATION/$i $MOUNTPATH/$i -o "username=$USERNAME,password=$PASSWORD"
done

Isso parece funcionar bem quando a matriz é REPOS=("repoone" "repotwo" "repothree") , mas não com espaços. Eu tentei com repo\ one e repo\\ one , mas não estou com sorte. Eu sei que estou sentindo falta de algo estúpido.

    
por Steven Walton 29.03.2016 / 17:44

1 resposta

3

Você precisa colocar $i entre aspas duplas:

sudo mount "//$IPLOCATION/$i" "$MOUNTPATH/$i" -o "username=$USERNAME,password=$PASSWORD"
    
por 29.03.2016 / 17:51