このスクリプトを実行していますが、変数 "devs"に格納されているデバイスを "mntpnt"に記載されているマウントポイントに適切にマウントする方法が見つかりません。
私自身を明確に説明してください。これまでのスクリプトは次のとおりです。
#!/bin/bash
count=$(find /dev/sd{b..z}1 2>/dev/null | wc -l)
dirnames=$(printf "win%d " $(seq $count))
for i in $dirnames
do
sudo mkdir -p /mnt/$i
done
devs=$(find /dev/sd{b..z}1 2>/dev/null)
mntpnt=$(find /mnt/win*)
答え1
既存のすべてのデバイスを最初の場所にのみ取り付けたい場合は、それを識別して保存する必要はありません。繰り返しながらインストールできます。
#!/bin/sh
i=0
for dev in /dev/sd[b-z]1
do
mnt="/mnt/win$((i+=1))"
sudo mkdir -p "$mnt"
sudo mount "$dev" "$mnt"
done
私が直接この記事を書いていたのであれば、これらのコマンドをsudo
含めなかったでしょう。代わりに、sudo
このスクリプトはroot権限が必要であるという認識をユーザーに返信するようにスクリプトに要求します。
答え2
代替案は次のとおりです。
find /dev -name "*sd[b-z]1" | \
while IFS= read -r i; do
dir="/mnt/win${i##*[^1]}"
sudo mkdir -p "$dir"
sudo mount "$i" "$dir"
done