Linux 使用shell脚本将文件从目录复制到任何USB

Linux 使用shell脚本将文件从目录复制到任何USB,linux,shell,ubuntu,usb,Linux,Shell,Ubuntu,Usb,我编写了一个shell脚本,其中有一行代码如下: cp -r ~/home/usr/Application/ /media/sid/462F-0222 问题是如何出现的/media/sid/462F-0222。这是因为,它只是我一直插入的USB的特定路径。如果我插入其他USB接口,它将是不同的路径 所以我要做的是,如何重写这个脚本,或者至少如何装载任何USB,将文件复制到该USB,然后使用shell脚本卸载它们 这个想法是在任何Ubuntu机器上运行这个脚本。如果我是对的,列出已安装设备的方法

我编写了一个shell脚本,其中有一行代码如下:

cp -r ~/home/usr/Application/ /media/sid/462F-0222
问题是如何出现的/media/sid/462F-0222。这是因为,它只是我一直插入的USB的特定路径。如果我插入其他USB接口,它将是不同的路径

所以我要做的是,如何重写这个脚本,或者至少如何装载任何USB,将文件复制到该USB,然后使用shell脚本卸载它们

这个想法是在任何Ubuntu机器上运行这个脚本。如果我是对的,列出已安装设备的方法可能不起作用,因为我们无法列出-->转到每次和安装时显示的不同USB安装路径


非常感谢您的任何帮助/建议

您可以通过在
mount
中指定分区来为分区指定一个特定的装入点:

mount [...] device_uuid /path/to/mount/point
或在
fstab
中:

UUID=device_uuid /path/to/mount/point [...]

要想知道在
fstab
中放置什么,请查看
mount | grep/media/sid/[…]
打印的内容。

用于将文件/目录复制到USB的Shell脚本

提示,您可能不需要此部分

echo “Place a USB drive into the computer then press the ENTER key” 
read -p "$*" 
sleep 5
清除USB并将其重新格式化为FAT32,并为其指定新名称。 这样,每次都可以使用下面的复制命令。 注意/dev/disk2可能不同。首先运行diskutil list命令进行检查

diskutil eraseDisk FAT32 462F-0222 /dev/disk2 ; sleep 3
diskutil unmountDisk /dev/disk2
复制命令

cp -r ~/home/usr/Application/ /media/sid/462F-0222
卸载USB(允许您安全地卸下USB) 注意/dev/disk2可能不同。首先运行diskutil list命令进行检查

diskutil eraseDisk FAT32 462F-0222 /dev/disk2 ; sleep 3
diskutil unmountDisk /dev/disk2

我猜问题本身就是/path/to/device,对吗?就像我不能创建一个标准的这样的路径一样?你可以在插入U盘之前运行
mount
,然后告诉用户插入U盘,然后再运行
mount
,看看有什么不同:-)