ฉันพยายามรับเนื้อหาของไดเรกทอรีโดยใช้เชลล์สคริปต์
สคริปต์ของฉันคือ:
for entry in `ls $search_dir`; do
echo $entry
done
โดยที่$search_dirเป็นเส้นทางสัมพัทธ์ อย่างไรก็ตาม$search_dirมีไฟล์จำนวนมากที่มีช่องว่างในชื่อ ในกรณีนี้สคริปต์นี้ไม่ทำงานตามที่คาดไว้
ฉันรู้ว่าฉันสามารถใช้งานfor entry in *ได้ แต่มันจะใช้ได้เฉพาะกับไดเรกทอรีปัจจุบันของฉันเท่านั้น
ฉันรู้ว่าฉันสามารถเปลี่ยนไปยังไดเรกทอรีfor entry in *นั้นใช้แล้วเปลี่ยนกลับ แต่สถานการณ์เฉพาะของฉันทำให้ฉันไม่สามารถทำได้
ฉันมีสองเส้นทางญาติ$search_dirและ$work_dirและฉันต้องทำงานทั้งสองพร้อมกันอ่านพวกเขาสร้าง / ลบไฟล์ในพวกเขา ฯลฯ
แล้วฉันจะทำอย่างไรดี
PS: ฉันใช้ทุบตี
for entry in "$search_dir/*"ได้ไหมว่าทำไมไม่ทำงาน ทำไมเราต้องวาง/*นอกเหนือราคา