使用脚本将文件复制到 USB 驱动器时出现错误

使用脚本将文件复制到 USB 驱动器时出现错误

我想将我的数据复制到 USB 驱动器并收到错误消息。

原因是,当复制所有数据时,我在开头得到了一个“/”。

有人知道为什么吗?

您可以在下面看到我的代码:

if ( [ -e $Dirname ] && [ -e /dev/sdb1 ] )
then
cp /home/jason/tmp/*_backup* /$Dirname
rm -r /home/jason/tmp/*_backup*
    echo "Your data was successfully copied."

else
    echo "Your USB stick is not connected or not mounted."
fi
$Dirname < /home/jason/Programs/Script/dirname_backup2usb.txt

我给 $Dirname 的参数是:

#!/bin/bash

/media/xyz

答案1

测试并/dev/sdb1不能保证任何事情。您想识别 USB 驱动器上文件系统的挂载点。尝试使用带有 的命令行lsblk,例如

lsblk -f

或者我认为更好,

lsblk -o NAME,SIZE,HOTPLUG,FSTYPE,LABEL,MOUNTPOINT,MODEL | grep -v '/snap/'

您可以创建一个别名以使其更容易:

alias mylsblk="lsblk -o NAME,SIZE,HOTPLUG,FSTYPE,LABEL,MOUNTPOINT,MODEL | grep -v '/snap/'"

并将其编辑到~/.bashrc文件中其他别名的附​​近。运行

source ~/.bashrc

您可以开始使用它:

$ mylsblk
NAME          SIZE HOTPLUG FSTYPE LABEL           MOUNTPOINT          MODEL
sda         238,5G       0                                            SanDisk SD6SB1M2
├─sda1        500M       0 ntfs   System
├─sda2      139,4G       0 ntfs   Windows
├─sda3       1000M       0 ntfs   Recovery
├─sda4          1K       0
├─sda5       89,7G       0 ext4   lubionic        /
└─sda6          8G       0 swap                   [SWAP]
sdb           3,7T       0                                            WDC WD4002FYYZ-0
├─sdb1        510M       0 ext4   boot-nvme-focal
├─sdb2         30G       0 ext4   xubufocal-hdd
├─sdb5          1M       0
├─sdb6        100G       0 ext4   studio12.04
├─sdb7        3,5T       0 ext4   multimed-2      /media/multimed-2
└─sdb8          5G       0 swap
sdc            15G       1                                            Transcend 16GB
└─sdc1         15G       1 vfat   KEEP_ME         /media/nio/KEEP_ME
sr0          1024M       1                                            DVD-RW DH16AESH
nvme0n1     232,9G       0                                            KINGSTON SA2000M8250G
├─nvme0n1p1 232,9G       0 ext4   nvme-focal
└─nvme0n1p2     1M       0

在我的电脑的例子中,有许多驱动器和更多分区。但现在您可以看到 HOTPLUG 为 1 /dev/sdc,并且您可以看到大小和型号,以便于识别。因此在这种情况下您应该复制到 FAT 文件系统的挂载点/media/nio/KEEP_ME

相关内容