ฉันกำลังพยายามทำให้svnadmin dump
คำสั่งสำหรับสคริปต์สำรองโดยอัตโนมัติและฉันต้องการทำสิ่งนี้:
find /var/svn/* \( ! -name dir -prune \) -type d -exec svnadmin dump {} > {}.svn \;
นี้ดูเหมือนว่าจะทำงานในการที่จะดูผ่านแต่ละพื้นที่เก็บข้อมูล SVN ใน/var/svn
และวิ่งsvnadmin dump
กับมัน
อย่างไรก็ตามที่สอง{}
ในคำสั่ง exec ไม่ได้รับการแทนที่สำหรับชื่อของไดเรกทอรีที่กำลังประมวลผล {}.svn
มันเป็นพื้นผลเพียงแค่ไฟล์เดียวชื่อ
ฉันสงสัยว่านี้เป็นเพราะเปลือกตีความ>
เพื่อยุติคำสั่งและจะพยายามเปลี่ยนทิศจากคำสั่งที่ไฟล์ที่ชื่อว่าfind
{}.svn
ความคิดใด ๆ
{}
เป็นอาร์กิวเมนต์ไปยังsh
แล้ว (ภายในsh
) ดูเป็น"$0"
หรือ"$1"
หรือดังนั้น