บนเครื่องของฉันเนื่องจากวิธีการตั้งค่าสิ่งต่างๆ:
cd ~ # /work1/jleffler
cd ~jleffler # /u/jleffler
คนแรกที่ให้ความสำคัญกับค่าของตัวแปรสภาพแวดล้อม$HOME
; ฉันตั้งใจตั้งค่า$HOME
เป็นระบบไฟล์ภายในเครื่องแทนที่จะเป็นระบบไฟล์ที่ติดตั้ง NFS ครั้งที่สองอ่านจากไฟล์รหัสผ่าน (โดยประมาณ NIS ทำให้ซับซ้อนขึ้นเล็กน้อย) และพบว่าไฟล์รหัสผ่านระบุว่าโฮมไดเร็กทอรีของฉันคือ/u/jleffler
และเปลี่ยนเป็นไดเร็กทอรีนั้น
สิ่งที่น่ารำคาญคือซอฟต์แวร์ส่วนใหญ่ทำงานตามด้านบน (และข้อกำหนด POSIX สำหรับเชลล์ต้องการลักษณะการทำงานนี้) ฉันใช้ซอฟต์แวร์บางตัว (และฉันไม่มีทางเลือกในการใช้งานมากนัก) ที่ถือว่าข้อมูลจากไฟล์รหัสผ่านเป็นค่าปัจจุบันของ $ HOME ซึ่งไม่ถูกต้อง
ใช้สิ่งนี้กับคำถาม - ตามที่คนอื่น ๆ ชี้ให้เห็น ' cd ~x
' ไปที่โฮมไดเร็กทอรีของผู้ใช้ 'x' และโดยทั่วไปแล้วเมื่อใดก็ตามที่การขยายตัวทิลเดอเสร็จสิ้น~x
หมายถึงโฮมไดเร็กทอรีของผู้ใช้ 'x' (และเป็นข้อผิดพลาด หากไม่มีผู้ใช้ 'x')
อาจเป็นเรื่องที่ควรค่าแก่การกล่าวถึงว่า:
cd ~- # Change to previous directory ($OLDPWD)
cd ~+ # Change to current directory ($PWD)
ฉันไม่พบการใช้งานสำหรับ ' ~+
' ในทันทีเว้นแต่คุณจะทำสิ่งแปลก ๆ ด้วยการย้าย symlink ในเส้นทางที่นำไปสู่ไดเร็กทอรีปัจจุบัน
คุณยังสามารถทำ:
cd -
~-
นั่นหมายความว่าเช่นเดียวกับ