4

我创建了一个脚本来在插入 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

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

4

2 回答 2

9

你需要一个空间:

while [ -b /dev/cdrom]; do
                     ^
_____________________|
于 2013-06-12T17:43:30.340 回答
1

只缺少一个空格,而不是

while [ -b /dev/sda1]; do

尝试

while [ -b /dev/sda1 ]; do
于 2013-06-12T17:48:35.733 回答