ตรวจสอบว่ามีไดเร็กทอรีหรือไม่

Fish Shell:
ตรวจสอบว่ามีไดเร็กทอรีหรือไม่

วิธีการ:

Fish Shell ใช้คำสั่ง test เพื่อตรวจสอบประเภทไฟล์และลักษณะต่าง ๆ รวมถึงว่าเป้าหมายเป็นไดเร็กทอรีหรือไม่ นี่คือรูปแบบพื้นฐานสำหรับการตรวจสอบว่ามีไดเร็กทอรีอยู่หรือไม่:

if test -d /path/to/dir
    echo "Directory exists"
else
    echo "Directory does not exist"
end

ผลลัพธ์ตัวอย่าง:

Directory exists

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

set dir "/path/to/search"
if fd . $dir --type directory --max-depth 1 | grep -q $dir
    echo "Directory exists"
else
    echo "Directory does not exist"
end

ตัวอย่าง fd นี้ค้นหาไดเร็กทอรีที่ระดับความลึกที่กำหนด และ grep ตรวจสอบการตรงกัน เพิ่มความหลากหลายในการตรวจสอบอย่างประณีต อย่างไรก็ตาม สำหรับวัตถุประสงค์โดยตรงในการตรวจสอบการมีอยู่ การยึดถือคำสั่ง test ที่มีอยู่ในตัวของ Fish เป็นทั้งประหยัดและตรงไปตรงมา