Score:0

ฉันได้รับข้อผิดพลาดเมื่อคัดลอกไฟล์ไปยังไดรฟ์ USB ด้วยสคริปต์ของฉัน

ธง fr

ฉันต้องการคัดลอกข้อมูลไปยังไดรฟ์ USB และได้รับข้อความแสดงข้อผิดพลาด

เหตุผลก็คือเมื่อคัดลอกข้อมูลทั้งหมด ฉันได้รับ "/" ที่จุดเริ่มต้น

ไม่มีใครรู้ว่าทำไมนี้คืออะไร?

ด้านล่างคุณจะเห็นรหัสของฉัน:

ถ้า ( [ -e $Dirname ] && [ -e /dev/sdb1 ] )
แล้ว
cp /home/jason/tmp/*_backup* /$Dirname.cp
rm -r /home/jason/tmp/*_backup*
    echo "คัดลอกข้อมูลของคุณสำเร็จแล้ว"

อื่น
    echo "แท่ง USB ของคุณไม่ได้เชื่อมต่อหรือไม่ได้ต่อเชื่อม"
ไฟ
$Dirname < /home/jason/Programs/Script/dirname_backup2usb.txt

และพารามิเตอร์ที่ฉันให้กับ $Dirname คือ:

/สื่อ/xyz

David avatar
cn flag
นี่เป็นแม้กระทั่งบน Ubuntu หรือไม่ คุณไม่ได้กล่าว
H.B. avatar
fr flag
สวัสดีเดวิด ใช่ มันคืออูบุนตู
in flag
หากคุณกำลังส่ง `/media/xyz` เป็นพารามิเตอร์ เครื่องหมายทับใน `/$Dirname` อาจทำให้สับสนได้
H.B. avatar
fr flag
ขอบคุณ @matigo มันเป็นเครื่องหมายทับ แต่มันบอกว่าตอนนี้ข้อมูลทั้งหมดได้รับการคัดลอกเรียบร้อยแล้ว แต่จะไม่ปรากฏในไดเร็กทอรีปลายทาง ฉันทำอะไรผิดกับ PASSING หรือไม่
H.B. avatar
fr flag
@matigo เพราะเมื่อฉันคัดลอกสิ่งเหล่านี้ด้วยคำสั่ง cp โดยไม่ผ่านที่อยู่ มันทำงานได้ดี
bac0n avatar
cn flag
อย่าใช้ *สำเนา* และ *ลบ* (อย่างน้อยต้องไม่ใช้การยืนยันบางรูปแบบ) หาก *คัดลอก* ล้มเหลว ระบบจะยังคงลบข้อมูลสำรองของคุณ `mv` หรือ `rsync` น่าจะเป็นทางเลือกที่ดีกว่า
H.B. avatar
fr flag
@bac0n ขอบคุณค่ะ ฉันรู้ว่าทุกครั้งที่สำรองข้อมูลทั้งหมดถูกลบแม้ว่ากระบวนการจะล้มเหลว
bac0n avatar
cn flag
บางที [ตัวอย่าง](https://askubuntu.com/questions/1231737/a-udev-rule-for-automatically-executing-rsync-scrips-is-not-working/1231839#1231839) อาจใช้เป็นรากฐานสำหรับ สคริปต์ของคุณแทน โดยเริ่มจาก "An Example how you can..."
Score:1
ธง jp

การทดสอบสำหรับ /dev/sdb1 ไม่รับประกันอะไร คุณต้องการระบุจุดเชื่อมต่อของระบบไฟล์ในไดรฟ์ USB ลองด้วยบรรทัดคำสั่งด้วย lsblk, ตัวอย่างเช่น

lsblk -ฉ

หรือฉันคิดว่าดีกว่าด้วย

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

คุณสามารถสร้างนามแฝงเพื่อให้ง่ายขึ้น:

นามแฝง mylsblk="lsblk -o NAME,SIZE,HOTPLUG,FSTYPE,LABEL,MOUNTPOINT,MODEL | grep -v '/snap/'"

และแก้ไขเป็นของคุณ ~/.bashrc ไฟล์ใกล้กับนามแฝงอื่น วิ่ง

ที่มา ~/.bashrc

และคุณสามารถเริ่มใช้งานได้:

$mylsblk
ชื่อ ขนาด ปลั๊กไฟ FSTYPE LABEL MOUNTPOINT MODEL
sda 238,5G 0 แซนดิสก์ SD6SB1M2
ââsda1 500M 0 ntfs ระบบ
ââsda2 139,4G 0 ntfs Windows
ââsda3 1000M 0 ntfs การกู้คืน
ââsda4 1K 0
ââsda5 89,7G 0 ext4 lubionic /
ââsda6 8G 0 สลับ [สลับ]
sdb 3,7T 0 WDC WD4002FYYZ-0
ââsdb1 510M 0 ext4 boot-nvme-โฟกัส
ââsdb2 30G 0 ext4 xubufocal-hdd
ââsdb5 1M 0
ââsdb6 100G 0 ต่อ 4 studio12.04
ââsdb7 3,5T 0 ext4 มัลติ-2 /สื่อ/มัลติ-2
ââsdb8 5G 0 แลกเปลี่ยน
sdc 15G 1 ทรานส์เซนด์ 16GB
ââsdc1 15G 1 vไขมัน KEEP_ME /media/nio/KEEP_ME
sr0 1024M 1 DVD-RW DH16AESH
nvme0n1 232,9G 0 คิงส์ตัน SA2000M8250G
âânvme0n1p1 232,9G 0 ext4 nvme-โฟกัส
âânvme0n1p2 1M 0

ในตัวอย่างจากคอมพิวเตอร์ของฉันมีไดรฟ์จำนวนมากและพาร์ติชันเพิ่มเติม แต่ตอนนี้คุณจะเห็นว่า HOTPLUG เป็น 1 สำหรับ /dev/sdcและคุณสามารถดูขนาดและรุ่น เพื่อให้ง่ายต่อการระบุ ดังนั้นในกรณีนี้ คุณควรคัดลอกไปยังจุดเมานต์ของระบบไฟล์ FAT /media/nio/KEEP_ME.

H.B. avatar
fr flag
ขอบคุณ @sudodus สำหรับคำตอบโดยละเอียดของคุณ ฉันจะลองดู ปัญหาที่ใหญ่ที่สุดของฉันคือตอนนี้ฉันไม่สามารถส่งหรือเปลี่ยนเส้นทางไดเร็กทอรีเพื่อคัดลอกไฟล์ได้ คุณเห็นใน Code ของฉันไหมว่าความล้มเหลวอยู่ที่ไหน
sudodus avatar
jp flag
ฉันขอโทษ @H.B. แต่ฉันไม่เข้าใจ shellscript ของคุณ มันห่างไกลจากวิธีที่ฉันจะเขียนโปรแกรม ฉันคิดว่าคุณต้องอธิบายเป็นคำพูดว่าคุณต้องการทำอะไร (โดยที่คุณมีข้อมูลดั้งเดิมของคุณ) โปรดเรียกใช้คำสั่ง lsblk คล้ายกับที่ฉันแสดงในคำตอบ คัดลอกและวางผลลัพธ์จากคำสั่งลงในคำถามเดิม เยื้องแต่ละบรรทัด 4 ช่องว่างเพื่อแสดงเป็นรหัส มิฉะนั้นจะอ่านยาก เมื่อฉันเห็นผล ฉันจะเข้าใจมากขึ้นและฉันน่าจะช่วยคุณได้
sudodus avatar
jp flag
@H.B. คุณเคยใช้ command line ในหน้าต่างเทอร์มินัลมาก่อนหรือไม่? คุณสามารถคัดลอกและวางระหว่างเว็บเบราว์เซอร์และหน้าต่างบรรทัดคำสั่ง กดปุ่ม Enter เพื่อดำเนินการบรรทัดคำสั่ง

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา