アレイへのループのインストール(名前にスペースがあります)

アレイへのループのインストール(名前にスペースがあります)

だから私はこのような配列のリストを繰り返す小さなスクリプトを書こうとしています。

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

これは、配列にREPOS=("repoone" "repotwo" "repothree")スペースがない場合にうまく機能するようです。頑張りましたが、repo\ onerepo\\\ oneがありませんでした。私は愚かなものを見逃していることを知っています。

答え1

$i二重引用符の間に以下を追加する必要があります。

sudo mount "//$IPLOCATION/$i" "$MOUNTPATH/$i" -o "username=$USERNAME,password=$PASSWORD"

関連情報