Score:0

ส่งผ่านอาร์กิวเมนต์คำสั่งเป็นตัวแปร

ธง ar

ฉันได้สร้างสคริปต์ทุบตีเพื่อสำรองเซิร์ฟเวอร์ AWS Ligthsail ของฉันด้วยความสงบ ในที่สุดทุกอย่างก็ใช้งานได้ แต่มีสิ่งหนึ่งที่ฉันหาคำตอบไม่ได้

เฉพาะส่วนที่เป็นปัญหา:

//การตั้งค่า
forget_policy=(--เก็บภายใน-รายวัน 7d --เก็บภายใน-รายสัปดาห์ 1m --เก็บภายใน-รายเดือน 1y --เก็บภายใน-รายปี 2y)

//(⦠รหัสอื่น)

forget_old () {
    #ลืมและตัด
    restic -r $RESTIC_REPOSITORY ลืม "${forget_policy}" --prune | บันทึก

    # ตรวจสอบสถานะทางออกว่าโอเคหรือไม่
    สถานะ=$?
    ถ้า [ $status -ne 0 ]; แล้ว
        บันทึก "การลืม ${status} ล้มเหลว"
        ทางออก 1
    ไฟ
}

//(⦠รหัสอื่น)

ลืมเก่า

เอาต์พุต

>> อาร์กิวเมนต์ที่ไม่ถูกต้อง "--prune" สำหรับแฟล็ก "--keep-within-daily": ไม่พบตัวเลข

ฉันไม่สามารถส่งตัวแปร $forget_policy ไปยังคำสั่ง forget ได้ เมื่อฉันห่อตัวแปรใน "" ฉันเข้าใจ

>> ธงที่ไม่รู้จัก: --เก็บภายใน-รายวัน 7d --เก็บภายใน-รายสัปดาห์ 1m --เก็บภายใน-รายเดือน 1y --เก็บภายใน-ปี 2y

เมื่อฉันคัดลอกเนื้อหาตัวแปรไปยังคำสั่งโดยตรง มันใช้งานได้ ดังนั้นฉันต้องทำอะไรผิดกับการส่งผ่านตัวแปร

Score:1
ธง hr

เพื่อขยาย แต่ละ ขององค์ประกอบอาร์กิวเมนต์ของคุณเป็นคำแยกต่างหากที่คุณต้องการ "${forget_policy[@]}"

"${forget_policy}" เทียบเท่ากับ "${forget_policy[0]}" ดังนั้นจะขยายไปยังอาร์กิวเมนต์แรกเท่านั้น นั่นคือเหตุผลที่คุณลงเอยด้วย --เก็บภายในทุกวัน --พรุน

ดู อาร์เรย์ ส่วนย่อยภายใต้ พารามิเตอร์ ในหน้าคู่มือทุบตี

Rever_2019 avatar
ar flag
ขอบคุณ. ฉันทำ (น่าเศร้า) สคริปต์ทุบตีไม่เพียงพอ ไม่สังเกตว่าฉันเปลี่ยนเป็นอาร์เรย์โดยเพิ่ม () ก่อนหน้านี้ ฉันเพิ่ง "forget_policy="--keep-within-daily 7d --â¦" นั่นเป็นเพียงสตริงและใช้งานไม่ได้ ลองใช้ Google แล้วพบ "เวอร์ชันอาร์เรย์"
hr flag
@Rever_2019 ในกรณีนั้นมันเป็นอุบัติเหตุที่น่ายินดี - การใช้อาร์เรย์เป็นวิธีที่ถูกต้องในการจัดการรายการอาร์กิวเมนต์ประเภทนี้ ;)

โพสต์คำตอบ

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