Score:1

การรันชุดคำสั่งจะให้ผลลัพธ์อื่นนอกเหนือจากการรันบนสคริปต์

ธง fr

นี่คือสคริปต์:

#!/bin/sh
rm -rf คอมไพล์ /
mkdir -p git/{c,ds/{include,test},projects,quizzes,system_programming}
ค้นหา git/ -type d -exec touch {}/dummy.md \;

นี่คือผลลัพธ์ที่ต้องการ:

คอมไพล์ /
âââ ค
â âââ dummy.md
âââ ดส
â âââ dummy.md
â âââ รวมถึง
â â â â âââ dummy.md
â âââ ทดสอบ
â âââ dummy.md
âââ dummy.md
âââ โครงการ
â âââ dummy.md
âââ แบบทดสอบ
â âââ dummy.md
âââ system_programming
    âââ dummy.md

7 ไดเร็กทอรี 8 ไฟล์

นั่นเกิดขึ้นเมื่อฉันรันแต่ละคำสั่งแยกกันทีละคำสั่ง

เมื่อฉันเรียกใช้สคริปต์โดยเปลี่ยนการอนุญาต: chmod +x script_name.sh

ฉันเข้าใจ:

คอมไพล์ /
âââ {ค,ds
â âââ dummy.md
â  âââ {รวม,ทดสอบ},โครงการ,แบบทดสอบ,ระบบ_โปรแกรมมิง}
â âââ dummy.md
âââ dummy.md

2 ไดเร็กทอรี 3 ไฟล์

ฉันเห็นปัญหาอยู่ใน มคเดียร์ คำสั่งโดยการสร้างลำดับชั้นของไดเร็กทอรีที่ไม่ถูกต้อง

ดังนั้นฉันตรวจสอบ chmod สั่งการ,
ฉันวิ่ง chmod +x+w script_name.sh แต่ฉันได้รับผลลัพธ์เดียวกัน

ทำไมถึงเป็นเช่นนั้น?
ขอบคุณ.

cn flag
ปัญหาของคุณอยู่ที่ she-bang, "sh" bash คือสิ่งที่ขยาย { และ } คุณอาจใช้ bash ในบรรทัดคำสั่งและ /bin/sh ถูกชี้ไปที่เส้นประ ใช้ `#!/bin/bash`
fr flag
ขอบคุณ นั่นช่วยแก้ปัญหาได้ ดังนั้น หากฉันต้องการใช้คำสั่งที่มี `{ }` ในสคริปต์ ฉันจึงต้องใช้ `#!/bin/bash` แทน `#!/bin/sh`?
fr flag
@muru ขอบคุณที่ชี้แจง

โพสต์คำตอบ

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