คำถามติดแท็ก cwd

4
ค้นหาไดเรกทอรีทำงานปัจจุบันของกระบวนการทำงานหรือไม่
คำสั่งใดที่สามารถใช้เพื่อค้นหาไดเรกทอรีการทำงานปัจจุบัน (CWD) ของกระบวนการที่กำลังทำงานอยู่ เหล่านี้จะเป็นคำสั่งที่คุณสามารถใช้จากภายนอกได้

2
การแก้ไขลิงก์สัญลักษณ์ (pwd)
พูดว่าฉันทำต่อไปนี้: cd /some/path ln -s /target/path symbolic_name ถ้าเป็นเช่นนั้น: cd /some/path cd symbolic_name pwd ฉันเข้าใจ: /some/path/symblic_name และไม่: /target/path มีวิธีที่จะให้เชลล์ "แก้ปัญหาอย่างเต็มที่" ลิงก์สัญลักษณ์ (เช่นการอัปเดต CWD ฯลฯ ) ราวกับว่าฉันทำเสร็จแล้ว: cd /target/path ? ฉันต้องเรียกใช้บางโปรแกรมที่ดูเหมือนจะ "รับรู้" หรือ "ละเอียดอ่อน" เกี่ยวกับวิธีที่ฉันไปยังเส้นทางเป้าหมายของฉันและฉันต้องการให้พวกเขาคิดว่าฉันมาถึงเส้นทางเป้าหมายราวกับว่าทำcd /target/pathโดยตรง
32 files  symlink  cwd 

4
มี POSIX (หรืออย่างน้อยเป็นที่นิยม) ยูทิลิตี้เพื่อตั้งไดเรกทอรีการทำงานปัจจุบันเมื่อเรียกใช้โปรแกรมหรือไม่?
เรามีenv (1)เพื่อแก้ไขสภาพแวดล้อมของคำสั่งที่เราต้องการเรียกใช้ (ตัวอย่างenv MANPAGER=more man dtrace) มีสิ่งที่คล้ายกัน แต่สำหรับการปรับเปลี่ยนไดเรกทอรีที่คำสั่งจะเริ่มต้นใน เป็นการดีที่ฉันต้องการให้มีลักษณะเช่นนี้: theMagicCommand /new/cwd myProgram วิธีนี้มันอาจจะ "ถูกล่ามโซ่" กับคำสั่ง env (1) เหมือนอื่น ๆ เช่น daemon -p /tmp/pid env VAR=value theMagicCommand /new/cwd myProgram จนถึงตอนนี้ฉันสามารถคิดถึงวิธีแก้ปัญหาต่อไปนี้ซึ่งน่าเสียดายที่ไม่มีอินเตอร์เฟสเหมือนกับ env (1): cd /new/cwd && myProgram นอกจากนี้ฉันสามารถสร้างเชลล์สคริปต์อย่างง่ายเช่นนี้: #! /bin/sh - cd "${1:?Missing the new working directory}" || exit 1 shift exec …
20 shell  freebsd  cwd 

2
สร้างลิงก์สัญลักษณ์แบบสัมบูรณ์ไปยังไดเร็กทอรีปัจจุบัน
ตอนนี้ฉันอยู่ภายใต้ไดเรกทอรีที่มีเส้นทางที่ยาวมาก สำหรับการเยี่ยมชมในอนาคตนั้นเร็วกว่าฉันต้องการสร้างลิงก์ให้ ฉันเหนื่อย ln -s . ~/mylink ~/mylinkเชื่อมโยงไปยัง~จริง ฉันจะขยาย~เข้าไปในชื่อพา ธ ที่ล้าสมัยแล้วให้มันได้lnหรือไม่
12 shell  symlink  cwd 
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.