当我试图将目录从Linux主目录复制到USB驱动器(笔式驱动器)时,在以下命令cp -r /home/directoryname /media/usbname(pendrivename)
的情况下它工作正常。连接时自动检测USB设备名称
但我期待的命令,复制目录与出给“usbname(pendrivename)”
当我试图将目录从Linux主目录复制到USB驱动器(笔式驱动器)时,在以下命令cp -r /home/directoryname /media/usbname(pendrivename)
的情况下它工作正常。连接时自动检测USB设备名称
但我期待的命令,复制目录与出给“usbname(pendrivename)”
不知道我明白你的需求,但如果我有这样的脚本应该能在您的USB做的伎俩驱动器总是monted同一个标签:
#!/bin/bash
cp -r $1 /media/usbname(pendrivename)
如果保存脚本~/cpusb.sh
,你可以这样做:
chmod cpusb.sh
echo "alias cpusb=cpusb.sh" >> .bash_aliases
source
然后用cpusb
当你想要。
我想我会用mount
文本推断使用sed
或awk
连接的USB的目录。
甚至可以在没有任何连接时保存mount
的结果,并在连接新的USB设备后从mount
的结果中“扣除”它。
甚至更好,运行脚本之前连接设备:
- 将运行该脚本mount
每一秒,并等待结果中的一个变化。
- 当检测到更改时,新添加的设备就是您的usb。
喜欢的东西:
#!/bin/bash
mount_old="$(mount)"
mount_new="${mount_old}"
while [[ "${mount_new}" == "${mount_old}" ]]; do
sleep 1
mount_new="$(mount)"
done
# getting added line using sort & uniq
sort <(echo "${mount_old}") <(echo "${mount_new}") | uniq -u | awk '{ print $3 }'
# another way to achieve this using diff & grep
# diff <(echo "${mount_old}") <(echo "${mount_new}") | grep ">" | awk '{ print $4 }'
它只是一个草图,可能需要/想完善它。
in shell脚本cp -r $ 1/media/usbname(pendrivename)它的工作适用于任何pendrive或只有特定的一个。 – nalini 2015-03-31 12:57:31
你必须用USB设备的标签替换'usbname(pendrivename)'。如果它是经典的分配,标签是固定的。您可以使用像gparted这样的工具修改它。 – 2015-03-31 13:00:44
可以请你清楚一点, – nalini 2015-03-31 13:03:49