Estoy haciendo este script y no veo cómo encontrar una manera de montar en consecuencia los dispositivos almacenados en la variable "devs" en los puntos de montaje enumerados en "mntpnt".
Espero ser claro al explicarme, aquí está el guión hasta el momento:
#!/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*)
Respuesta1
Si sólo desea montar las primeras posiciones de todos los dispositivos existentes, no necesita determinarlas ni guardarlas. Puedes simplemente montarlos mientras iteras:
#!/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
Si estuviera escribiendo esto por mí, no incluiría los sudo
comandos. En su lugar, requeriría que el script se ejecute en sudo
. Haga que el usuario se dé cuenta de que este script necesita privilegios de root.
Respuesta2
Aquí tienes una alternativa:
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