วิธีตรวจสอบว่ามีไฟล์หรือไดเรกทอรีอยู่ใน Bash Shell Script หรือไม่

วิธีตรวจสอบว่ามีไฟล์หรือไดเรกทอรีอยู่ใน Bash Shell Script หรือไม่

ตรวจสอบว่ามีไฟล์หรือไดเร็กทอรีจากสคริปต์ทุบตีหรือไม่

Bash ใช้สำหรับทำให้คำสั่งที่ดำเนินการเป็นประจำโดยอัตโนมัติใน Linux คำสั่งที่ใช้สำหรับดำเนินการกับไฟล์/ไดเร็กทอรีนั้นค่อนข้างจะใช้บ่อย และโดยปกติ ก่อนที่เราจะรันคำสั่งดังกล่าว เราจำเป็นต้องตรวจสอบว่าไฟล์หรือไดเร็กทอรีนั้นมีอยู่จริงหรือไม่ ให้เราดูวิธีการดำเนินการตรวจสอบนี้

ไวยากรณ์และการใช้งาน

ไฟล์

หากต้องการตรวจสอบว่ามีไฟล์อยู่หรือไม่ให้ใช้ไวยากรณ์ต่อไปนี้:

[ -f  ]

นิพจน์[ -f ]ส่งกลับค่า 0 กล่าวคือ สำเร็จถ้ามี และหากไม่มีอยู่ จะแสดงสถานะที่ไม่ใช่ศูนย์ โดยทั่วไปจะใช้เป็นเงื่อนไขในifคำสั่ง

if [ -f  ]
then
  
fi

หากต้องการลบล้างค่าที่ส่งคืนเพียงนำหน้าตัว-fดำเนินการปฏิเสธ ( !)

if [ ! -f  ]
then
  
fi

ในกรณีนี้ เงื่อนไขจะเป็นไปตามหากไม่มีไฟล์เนื่องจากสถานะไม่ใช่ศูนย์ที่ส่งคืน (เท็จ) จะถูกปฏิเสธและถือเป็น 0 (จริง)

วิธีตรวจสอบว่ามีไฟล์หรือไดเรกทอรีอยู่ใน Bash Shell Script หรือไม่

วิธีตรวจสอบว่ามีไฟล์หรือไดเรกทอรีอยู่ใน Bash Shell Script หรือไม่

โปรดทราบว่าหากไฟล์ที่จะตรวจสอบไม่มีอยู่ในไดเร็กทอรีปัจจุบันและมีอยู่ในไดเร็กทอรีอื่น ควรระบุพาธแบบเต็มของไฟล์แทนการระบุเฉพาะชื่อไฟล์

ไดเรกทอรี

ไวยากรณ์ที่คล้ายกันที่ใช้สำหรับตรวจสอบไฟล์ใช้สำหรับตรวจสอบไดเร็กทอรี

[ -d  ]

คล้ายกับคำสั่งสำหรับไฟล์ คำสั่งนี้จะคืนค่า 0, กล่าวคือ สำเร็จ, หากมีไดเร็กทอรี และไม่ใช่ศูนย์, กล่าวคือ สถานะความล้มเหลวจะถูกส่งกลับหากไม่มีอยู่ ซึ่งมักใช้ในifเงื่อนไขคำสั่ง

if [ -d  ]
then
  
fi

หากต้องการลบล้างสถานะที่ส่งคืน ให้นำหน้า-dด้วยตัวดำเนินการปฏิเสธ ( !)

if [ ! -d  ]
then
  
fi

เงื่อนไขจะเป็นไปตาม (สถานะ 0) ในกรณีนี้หากไม่มีไดเร็กทอรี และจะล้มเหลว (สถานะไม่ใช่ศูนย์) หากมีไดเร็กทอรีอยู่

วิธีตรวจสอบว่ามีไฟล์หรือไดเรกทอรีอยู่ใน Bash Shell Script หรือไม่

ดังที่กล่าวไว้ก่อนหน้านี้สำหรับไฟล์ หากไดเร็กทอรีที่จะตรวจสอบอยู่ที่ตำแหน่งอื่นและไม่ใช่ไดเร็กทอรีปัจจุบัน ต้องป้อนพาธไดเร็กทอรีทั้งหมดแทนการป้อนเพียงชื่อไดเร็กทอรี

💡 ไวยากรณ์วงเล็บ ( [...]) ที่ใช้ในที่นี้เป็นคำสั่ง Linux ที่ชื่อtest. ตัวเลือก-fและ-dคุณสมบัติของคำสั่งนี้ สำหรับข้อมูลเพิ่มเติม โปรดดูหน้าคู่มือการทดสอบ ( man test)

ตรวจสอบจาก Bash Script

ในตัวอย่างข้างต้น เราได้ใช้ไวยากรณ์บนเทอร์มินัลโดยตรง เชลล์ทุกครั้งที่พบลูปหรือคำสั่งเงื่อนไข ( ifในกรณีของเรา) เชลล์จะดำเนินการต่อและให้ผู้ใช้เข้าสู่บล็อกต่อไป

ไวยากรณ์เดียวกันสามารถใช้ได้จากภายในสคริปต์ทุบตี

วิธีตรวจสอบว่ามีไฟล์หรือไดเรกทอรีอยู่ใน Bash Shell Script หรือไม่

#!/bin/bash ที่เริ่มต้นระบุล่ามที่จะใช้เมื่อไฟล์จะถูกดำเนินการ แม้ว่า Bash จะเป็นเชลล์ที่ใช้กันมากที่สุดในปัจจุบัน ผู้ใช้บางคนชอบเชลล์เช่น  zshซึ่งควรระบุแทน bash ที่จุดเริ่มต้นของไฟล์นี้

หากต้องการให้สิทธิ์ดำเนินการ  สำหรับไฟล์นี้ ให้เรียกใช้:

chmod +x test.sh

ในที่สุด ใน  การรันไฟล์ให้รัน:

./test.sh

วิธีคัดลอกและวางบน Chromebook

วิธีคัดลอกและวางบน Chromebook

สิ่งแรกที่คุณอาจสงสัยขณะเปลี่ยนไปใช้ Chromebook คือวิธีทำสิ่งพื้นฐาน ซึ่งเป็นสิ่งที่คุณมีที่หลังมือในระบบปฏิบัติการก่อนหน้าของคุณ การคัดลอกและวางเป็นฟังก์ชันพื้นฐานอย่างหนึ่งที่คุณต้องใช้ในจุดใดจุดหนึ่ง

วิธีทดสอบการพิมพ์บน Linux ด้วย tt

วิธีทดสอบการพิมพ์บน Linux ด้วย tt

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

Wi-Fi ไม่ทำงานบน Ubuntu? นี่คือวิธีแก้ไข

Wi-Fi ไม่ทำงานบน Ubuntu? นี่คือวิธีแก้ไข

อูบุนตูเป็นที่นิยมในด้านความทนทานและข้อผิดพลาดค่อนข้างน้อย แต่ก็ไม่มีปัญหาอะไรแน่นอน หนึ่งในปัญหาดังกล่าวคือไดรเวอร์ Wi-Fi คุณอาจเปิดระบบของคุณเพียงเพื่อจะพบว่า Wi-Fi ของคุณไม่ทำงาน

วิธีสร้างและสแกนรหัส QR บน Chromebook

วิธีสร้างและสแกนรหัส QR บน Chromebook

รหัสตอบกลับด่วนหรือรหัส QR สั้น ๆ เป็นบาร์โค้ดขั้นสูงที่มีข้อมูลมากกว่าบาร์โค้ดแบบเดิม รหัสเหล่านี้เป็นแบบสองมิติ ช่วยให้คุณสแกนในแนวตั้งหรือแนวนอนได้

วิธีการติดตั้งและลบแพ็คเกจใน Arch Linux

วิธีการติดตั้งและลบแพ็คเกจใน Arch Linux

ต้องการติดตั้งแพ็คเกจบน Arch Linux แต่ไม่รู้จะทำอย่างไร? ผู้คนจำนวนมากประสบปัญหานี้เมื่อย้ายจากการแจกแจงแบบเดเบียนไปยัง Arch เป็นครั้งแรก อย่างไรก็ตาม คุณสามารถจัดการแพ็คเกจบนระบบที่ใช้ Arch ของคุณได้อย่างง่ายดายโดยใช้ตัวจัดการแพ็คเกจ

7 สุดยอดแอพ Ubuntu Dynamic Wallpaper

7 สุดยอดแอพ Ubuntu Dynamic Wallpaper

แม้ว่าคุณจะสามารถใช้แอพเพื่อสไลด์โชว์วอลเปเปอร์ดั้งเดิมของ Ubuntu ได้ ต่อไปนี้คือแอพบางตัวสำหรับดาวน์โหลดและตั้งค่าวอลเปเปอร์แบบไดนามิก

10+ ส่วนขยาย GNOME ที่ดีที่สุดสำหรับ Ubuntu 20.04

10+ ส่วนขยาย GNOME ที่ดีที่สุดสำหรับ Ubuntu 20.04

ส่วนขยายยอดนิยมมากมาย เช่น Gno-Menu, Extended Gestures ใช้งานไม่ได้กับ Ubuntu 20.04 ดังนั้นนี่คือรายการส่วนขยาย GNOME ที่ใช้งานได้ดีที่สุด

5 แอพถ่ายโอนไฟล์ Wi-Fi ที่ดีที่สุดจาก Ubuntu ไปยัง Android

5 แอพถ่ายโอนไฟล์ Wi-Fi ที่ดีที่สุดจาก Ubuntu ไปยัง Android

กลไกอย่างเช่น FTP, การถ่ายโอนไฟล์แบบเพียร์ทูเพียร์, การถ่ายโอน Wi-Fi จะช่วยคุณประหยัดเวลาหากคุณแชร์ไฟล์ระหว่าง Android และ Ubuntu บ่อยๆ

15 ธีมที่ดีที่สุดสำหรับ Ubuntu 20.04 ในปี 2020

15 ธีมที่ดีที่สุดสำหรับ Ubuntu 20.04 ในปี 2020

ธีมที่อัปเดตใหม่จำนวนมากพร้อมที่จะติดตั้งบนเดสก์ท็อป GNOME ใหม่ของ Ubuntu 20.04 แล้ว นี่คือรายการธีม Ubuntu ที่ดีที่สุดในปี 2020

ความแตกต่างระหว่าง Root Superuser บน Ubuntu

ความแตกต่างระหว่าง Root Superuser บน Ubuntu

สงสัยว่าความแตกต่างระหว่าง Root Superuser บน Ubuntu คืออะไร? เรามีคุณครอบคลุมที่นี่