Você precisa colocar $i entre aspas duplas:
sudo mount "//$IPLOCATION/$i" "$MOUNTPATH/$i" -o "username=$USERNAME,password=$PASSWORD"
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.
Tags mount shell-script