【发布时间】:2016-01-27 18:42:39
【问题描述】:
我是 Linux Mint 用户,我正在尝试编写一个规则,当我插入 USB 时执行一个脚本。 #!/bin/sh script,不成功
如果我运行相同,则访问 USB(即使使用普通 cd)
来自命令行的脚本,它完美地工作。
我为此创建的规则是:
ACTION=="add", SUBSYSTEM=="usb", ATTR{idVendor}=="058f", ATTR{idProduct}=="6387", RUN+=="/home/dario/bin/backup_usb"
例如,backup_usb 的样子:
#!/bin/sh
sleep 10
cd /media/dario/
echo " I am now in: $(pwd)" >> /home/dario/bin/log.log
cd /media/dario/DARIO_USB/ # That's the device just plugged in.
echo " I am now in: $(pwd)" >> /home/dario/bin/log.log
输出是:
I am now in: /media/dario/
and now in: /
在我期待的时候:
I am now in: /media/dario/
and now in: /media/dario/DARIO_USB/
如果有任何帮助,我将不胜感激。
(这是我的问题的编辑版本)
【问题讨论】:
-
“不工作”不足以让我们工作。至少,设置日志记录。此外,所有
=3D的东西都被破坏了——每个=3D都应该是一个=符号,=20同样是空格的转义码。 -
另外,您正在标记您的问题 bash,但使用
#!/bin/sh表示 POSIX sh。它只能是一个或另一个;是哪个? -
我想我不知道它是怎么称呼的。我正在使用#!/bin/sh。 tag: shell 是正确的标签吗?
-
本人不懂脚本,请多多指教!
-
是的,
shell或sh比bash更适合#!/bin/sh。或者您可以只使用#!/bin/bash并保留 bash 标签。 :)