ฉันจะตรวจสอบว่าไฟล์ใหม่กว่านั้นได้หรือไม่ที่ไฟล์เป้าหมายในเชลล์สคริปต์


2

ฉันจะตรวจสอบว่าไฟล์ใหม่กว่านั้นเป็นไฟล์เป้าหมายได้อย่างไร

ในเชลล์สคริปต์ตั้งใจให้ทำงานบน Mac ฉันต้องการทำสิ่งนี้:

#!/bin/bash
if [ $SourceFile dateisgreater $TargetFile ] then
    echo "SourceFile is newer that Targetfile"
fi

คำตอบ:


3
#/bin/bash
if [ "$SourceFile" -nt "$TargetFile" ]; then
    echo "SourceFile is newer than Targetfile"
fi

-nt หมายถึง "ใหม่กว่า"

ฉันได้เพิ่มเครื่องหมายคำพูดล้อมรอบชื่อไฟล์เพราะถ้าคุณต้องการเครื่องหมายคำพูดบน echo คุณจะต้องใส่เครื่องหมายคำพูดในชื่อไฟล์ ...


การพูดถึงตัวแปรต่าง ๆ ในกรณีที่ค่า (ชื่อของไฟล์ในกรณีนี้) มีช่องว่าง โดยไม่ต้องอ้างอิงและมี white space ทุบตีจะไม่สามารถแยกวิเคราะห์ถ้าทดสอบอย่างถูกต้อง
สงสัยใน
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.