如何在bash脚本中执行此操作

时间:2013-12-25 04:32:37

标签: linux bash

在Linux中,假设mount命令返回此

/dev/sdc1 on /media/ELF (^-^)V type vfat 
/dev/sdb1 on /media/PENDRIVE type vfat 

我想做的就是获取usb磁盘的所有挂载点。

我已经这样做了,使用grep和sed的组合我可以得到这些:

/media/ELF (^-^)V
/media/PENDRIVE

问题是,当我在bash中进行循环时,那些文本将变为3部分而不是2部分,我的意思是:

假设我将这些文本的结果放在LIST

for list in $LIST; do
    echo $list
done;

for循环的结果变为

/media/ELF
(^-^)V
/media/PENDRIVE

如何处理这个问题?或者有没有更简单的方法来获取我的USB磁盘的挂载点?

由于

1 个答案:

答案 0 :(得分:1)

如果您已经提取了挂载点路径,唯一的问题是在循环中处理它们:

while read -r mountpoint; do
  echo "[$mountpoint]"
done < <(mount | grep /media | grep uhelper=udisks | sed -e 's/\/dev\/.*on //g' -e 's/ type .*//g')