หากคุณไม่ได้สร้างไดเร็กทอรีโดยใช้ระบบ linux มีโอกาสที่ bash จะเสร็จสมบูรณ์ ดังนั้น bash จะไม่เห็นมันเป็นไฟล์
ไดเร็กทอรีใน Linux เป็นเพียงไฟล์เท่านั้น ที่มีข้อมูลเมตา รวมถึงตำแหน่งของไฟล์ที่ "อยู่ใน" สิ่งนี้แตกต่างจากวิธีที่ Windows ทำอย่างมาก
หากโมดูล (สมมติว่าเป็นโมดูลโหนด) มาจาก npm มีโอกาสที่ดีที่จะสร้างโดยระบบไฟล์ NTFS
ฉันไม่แน่ใจว่าสิ่งนี้จะส่งผลต่อวิธีการที่ bash เสร็จสิ้นเห็นอย่างไร แต่ถ้าไม่แสดงนั่นอาจเป็นเหตุผล
ฉันจะตรวจสอบเพิ่มเติมได้อย่างไร
เพื่อให้แน่ใจว่าไดเร็กทอรียังคงอยู่ คุณสามารถทำได้ ซีดี
ข้างในนั้น ทั้งสองวิธีนี้จะให้ข้อมูลเพิ่มเติมแก่คุณ นอกจากนี้เรียกใช้ ls -a ~
หรือ ลา~
ถ้าคุณมีมัน
คุณควรสร้างโฟลเดอร์ใหม่โดยใช้หลักการตั้งชื่อเดียวกันเพื่อดูว่ามีปัญหาเดียวกันหรือไม่
นอกจากนี้ยังมีเครื่องมือที่คุณจะได้รับจาก aptcall ต้นไม้
. มันเหมือนกับ ls แต่เรียกซ้ำ จะแสดงโครงสร้างไดเร็กทอรีทั้งหมดของไดเร็กทอรีปัจจุบัน
หากต้องการดูว่า Linux ได้ "ยอมรับ" ไดเร็กทอรีอย่างถูกต้องหรือไม่ คุณสามารถตรวจสอบสิทธิ์ได้
ลา -a -n
ให้ความสนใจกับอักขระตัวแรกในรายการไดเรกทอรีผู้ร้าย มันควรจะเป็น 'd' หากเป็น '-' แสดงว่าไม่ใช่โฟลเดอร์เลย ตอนนี้มันเป็นไฟล์เท่าที่เกี่ยวข้องกับ OS ซึ่งอาจหมายความว่าทุกอย่างที่อยู่ภายในถูกลบออก
นี่จะแสดงข้อมูลเจ้าของ & กลุ่มด้วย หากมีคุณสมบัติเหล่านี้ทั้งหมด ก็ควรจะแสดงให้เห็นอย่างแน่นอน
ในกรณีนี้ ให้รันกระบวนการด้านบนอีกครั้งและแคปหน้าจอผลลัพธ์ของแต่ละขั้นตอน หากคุณเพิ่มพวกเขาในคำถามของคุณ ฉันรับประกันได้ว่าบางคนจะรู้ว่าเกิดอะไรขึ้น
แก้ไข:
แม้ว่าเราจะดีใจที่คุณพบวิธีแก้ไขปัญหานี้ แต่ก็ยังอดไม่ได้ที่จะสงสัยว่าทำไมเครื่องของคุณถึงเป็นเช่นนี้ ไม่ใช่ของฉัน ดังที่ฉันได้กล่าวไว้ก่อนหน้านี้ ฉันได้ทดสอบ Ubuntu ของฉันเองเล็กน้อย
(Ubuntu = เวอร์ชัน 20.04.2 -- bash = เวอร์ชัน 5.0.17release)
โดยการทำ @ทดสอบ
ไดเร็กทอรีและตรวจสอบผลการรันคำสั่งและแอพพลิเคชั่นต่างๆ ภายในพาเรนต์ไดเร็กทอรีเดียวกัน ฉันทำสิ่งนี้ก่อนที่คุณจะค้นพบว่าคุณสามารถหลบหนีได้ ปัญหาคือพวกเขาทั้งหมดทำงานตามที่คาดไว้สำหรับฉัน
หากสิ่งนี้เกิดขึ้นกับคุณ และคุณใช้ Ubuntu เวอร์ชันที่ค่อนข้างเป็นปัจจุบัน ไม่ต้องสงสัยเลยว่ามีผู้อื่นที่มีปัญหาเดียวกัน
ในขณะนี้ ฉันเห็นความเป็นไปได้หลักสองประการเกี่ยวกับสาเหตุของความคลาดเคลื่อน ไม่ว่าเราจะเคยพบเจอเงื่อนไขของขอบแปลก ๆ ที่ยังไม่มีใครค้นพบ (ไม่น่าเป็นไปได้ที่ฉันรู้สึกอายที่จะพิมพ์มัน .. XD) หรือโปรแกรมอื่นในระบบของคุณกำลังเปลี่ยนพฤติกรรมของเชลล์
ตามที่ฉันได้บอกใบ้ไว้ในความคิดเห็น สิ่งนี้เป็นไปได้ผ่านการจัดการสภาพแวดล้อมของเชลล์ มีตัวแปรสภาพแวดล้อมไม่กี่ตัว (ในสภาพแวดล้อม 20.04 ของฉันมี 11 ตัว) ซึ่งเริ่มต้นด้วยรูปแบบ ทุบตี
และชี้ไปที่แอตทริบิวต์ของ bash shell โดยตรง สิ่งเหล่านี้ง่ายต่อการระบุ เนื่องจากทั้งหมดอยู่ที่จุดเริ่มต้นของรายการที่แสดงเมื่อคุณเรียกใช้ ชุด
สั่งการ. หากคุณท่อผ่าน น้อย
ดังใน:
ชุด | น้อย
พวกเขาจะเป็นสิ่งแรกที่คุณเห็นในหน้าจอเทอร์มินัล ในขณะที่ส่วนใหญ่มีไว้เพื่อเป็นค่าคงที่เพื่อให้เข้าถึงข้อมูลในสคริปต์ของคุณ ฯลฯ และแสดงข้อมูลที่มีอยู่ (เช่น BASH_VERSION) คนอื่นๆ สามารถควบคุมข้อมูลที่อ้างอิงได้ ตัวแปรหนึ่งที่โดดเด่นสำหรับฉันคือ บาชอป
. ถ้าในความเป็นจริงแล้ว พฤติกรรมเป็นผลลัพธ์ของค่าของตัวแปร ค่านี้จะเป็นตัวเลือกที่ดีสำหรับตัวการ
ที่กล่าวว่า จุดประสงค์หลักประการหนึ่งของสิ่งแวดล้อมโดยรวมคือเพื่อควบคุมพฤติกรรมของเชลล์ด้วยเหตุนี้ อาจเป็นตัวแปรใดๆ ในสภาพแวดล้อมของคุณ... หรือบางอย่างที่แตกต่างไปจากเดิมอย่างสิ้นเชิง
จุดประสงค์ของฉันในการแก้ไขปัญหานี้ต่อไปก็คือ ถ้ามีใครมาที่นี่เพื่อหาทางแก้ไขปัญหานี้ พวกเขาจะไม่เพียงแต่รู้วิธีแก้ไขปัญหาเท่านั้น แต่ยังรู้ถึงสาเหตุที่ทำให้เกิดปัญหานี้อีกด้วย
ขณะนี้มีเว็บน้อยมากเกี่ยวกับปัญหานี้ (ฉันหาอะไรไม่ได้เลย) และในตัวมันเองก็พูดได้มากมาย สิ่งนี้ไม่เคยเป็นเช่นนั้น ไม่มีคำตอบใดที่หายากพอ แต่ไม่มีคำถามใดที่แทบไม่เคยได้ยินมาก่อน มักจะมีบางคนที่มีปัญหาเดียวกันและโพสต์เกี่ยวกับเรื่องนี้
บันทึก:
โดย 'นี้ เป็นไปได้' ฉันหมายถึงการจัดการพฤติกรรมของ bash ในความหมายทั่วไป ฉันไม่รู้ว่าเป็นไปได้ไหมที่จะแก้ไขอักขระที่ bash เห็นว่าเป็น 'พิเศษ' ที่กล่าวว่าฉันไม่เห็นข้อสรุปอื่นใดที่ยอมรับได้ ฉันต้องยืดเส้นยืดสายเล็กน้อยเพื่อมาถึงสิ่งนี้ ถ้าใครมีความคิดอื่น ๆ ฉันยินดีรับฟัง