Bash
將設備掛載到儲存在變數中的掛載點
我正在執行此腳本,但我無法找到一種方法將儲存在“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*)
如果您只想安裝所有現有設備的第一個位置,則無需確定它們並保存它們。您可以在迭代時安裝它們:
#!/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 權限的認識推回給使用者。
這是一個替代方案:
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