ฉันพยายามรับวันที่แก้ไขล่าสุดของไฟล์ด้วยคำสั่งนี้
TM_LOCAL=`ls -l --time-style=long-iso ~/.vimrc | awk '{ print $6" "$7 }'`
TM_LOCAL มีค่าเช่น "2012-05-16 23:18" หลังจากเรียกใช้งานบรรทัดนี้
ฉันต้องการตรวจสอบ PIPESTATUS เพื่อดูว่ามีข้อผิดพลาดหรือไม่ ตัวอย่างเช่นหากไฟล์ไม่มีอยู่lsส่งคืน 2 แต่$?มีค่า 0 เนื่องจากมีค่าส่งคืนawkเป็น
ถ้าฉันรันคำสั่งนี้เพียงอย่างเดียวฉันสามารถตรวจสอบค่าส่งคืนของ ls โดยดูที่ ${PIPESTATUS[0]}
ls -l --time-style=long-iso ~/.vimrc | awk '{ print $6" "$7 }'
แต่$PIPESTATUSไม่ทำงานอย่างที่ฉันคาดไว้ถ้าฉันกำหนดเอาต์พุตให้กับตัวแปรตามตัวอย่างแรก ในกรณีนี้$PIPESTATUSอาร์เรย์มีเพียง 1 องค์ประกอบซึ่งเหมือนกับ$?
ดังนั้นคำถามคือฉันจะได้รับทั้งสอง$PIPESTATUSและกำหนดผลลัพธ์ให้ตัวแปรในเวลาเดียวกันได้อย่างไร