เหตุผลคือฉันต้องการสร้างสคริปต์ที่เป็นระเบียบแทนที่จะเป็น
cd /some/dir
cpio -whatever<somefile
cd -
เหตุผลคือฉันต้องการสร้างสคริปต์ที่เป็นระเบียบแทนที่จะเป็น
cd /some/dir
cpio -whatever<somefile
cd -
คำตอบ:
ไม่มีสิ่งใดใน GNU cpio ที่จะอนุญาตสิ่งนี้ นี่อาจจะสะอาดกว่านิดหน่อย:
(cd /some/dir && cpio -whatever < /some/file)
การใช้วงเล็บย่อยจะรักษาไดเรกทอรีการทำงานของสคริปต์ปัจจุบันและการใช้ && จะทำให้มั่นใจได้ว่าการแยก cpio จะทำได้ก็ต่อเมื่อคุณเปลี่ยนไดเรกทอรีเป็นเป้าหมายได้สำเร็จ
การเพิ่มอีกเล็กน้อยในสิ่งที่ TCampbell ทำ:
(cp / some / file / some / dir && cd / some / dir && cpio - อะไรก็ตาม <ไฟล์ && rm -f ไฟล์)
somefile
มีการอาศัยจริงใน/some/dir
ที่นี่ ฉันลองแล้วมันบอกว่ามันหาไฟล์ไม่เจอ ดังนั้นคุณต้องใช้พา ธ สัมพัทธ์ย้อนกลับไปยังตำแหน่งของไฟล์หรือพา ธ สัมบูรณ์