我创建了一个脚本,用于在插入USB设备和cdrom驱动器时自动挂载它。我一直在尝试使其与autofs一起使用(请参阅https://superuser.com/questions/605896/automount-usb-pen-drive-and-cdrom-drive-on-plugin),但现在尝试与在启动时运行的脚本一起使用。

我认为逻辑是合理的,但我得到了line 13: [: missing ']'
脚本是:

#!/bin/bash
while true
 do
    if [ -b /dev/sda1 ]
       then
       mkdir /media/usb
       mount /dev/sda1 /media/usb
       while [ -b /dev/sda1]; do
         sleep 2
       done
       umount /media/usb
       rmdir /media/usb
    fi
    if [ -b /dev/cdrom ]
       then
       mkdir /media/cdrom
       mount /dev/sda1 /media/cdrom
       while [ -b /dev/cdrom]; do
         sleep 2
       done
       umount /media/cdrom
       rmdir /media/cdrom
    fi

    sleep 5
 done

然后使用./path/to/script&从rc.local启动脚本

最佳答案

您需要在此处放置一个空格:

while [ -b /dev/cdrom]; do
                     ^
_____________________|

10-01 11:25