Bash でスペースを含むフォルダを配列で処理する
Bash でスペースを含むフォルダを処理したかったのですが、うまくできなかったのでメモ。
こうする
#!/bin/bash
dirs=("Documents" "VirtualBox VMs")
for d in "${dirs[@]}"; do
echo "$d"
done
結果:
Documents
VirtualBox VMs
これはダメ
${dirs[@]}
をダブルクォートしないとスペース区切りで処理されてしまう。
#!/bin/bash
dirs=("Documents" "VirtualBox VMs")
for d in ${dirs[@]}; do
echo "$d"
done
結果:
Documents
VirtualBox
VMs
Date: 2019/02/11