ฉันจะเปลี่ยนเส้นทาง (ไม่ใช่เชลล์แบบโต้ตอบ) ได้อย่างไร


1

ตัวอย่างเช่นเมื่อฉันเรียกใช้ Emacs จากเทอร์มินัล (เชลล์แบบโต้ตอบ) ฉันสามารถใช้ "Mx shell"

เมื่อฉันเรียกใช้ Emacs จาก Dock (ซึ่งวางกระบวนการจากเชลล์อื่น) ฉันไม่สามารถเพราะ "ไม่พบ grep" (หรือ 'ls' หรือ 'บางคำสั่ง UNIX สากลอื่น') นอกจากนี้แอปพลิเคชั่นที่ไม่ใช่ค่าเริ่มต้นครึ่งหนึ่งของฉันก็หยุดทำงาน (MATLAB, DrRacket, X11, ฯลฯ )

  1. ฉันจะเปลี่ยนสภาพแวดล้อมของเชลล์ที่เรียกว่า Dock ได้อย่างไร
  2. เชลล์เรียกใช้ dock อะไร / ควรรู้อะไรบ้างเกี่ยวกับเชลล์ที่แตกต่างกันในเครื่อง mac?

คำตอบ:


1

คุณควรสร้างไฟล์ ~ / .MacOSX / environment.plist ด้วยข้างใน

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>PATH</key>
<string>/Users/gio/.dotfiles/bin:/usr/local/bin:/usr/bin/:/usr/sbin/:/bin:/sbin</string>
<key>PYTHONPATH</key>
<string>/Users/gio/.local:/Users/gio/.local/lib/python2.7/site-packages</string>
</dict>
</plist>

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


ขอบคุณ! แต่ละองค์ประกอบของ "<! DOCTYPE ... > ทำอย่างไรนั่นคือ: plist, PUBLIC" - // Apple // ... "และ" apple.com ... "
Francis Haart

เช่นกัน "2. เชลล์เรียกคอร์อะไร / ฉันควรรู้อะไรบ้างเกี่ยวกับเชลล์ที่แตกต่างกันใน mac?"
ฟรานซิสฮาร์ต

สามบรรทัดแรกนั้นมีไว้เพื่อระบุตัวตน สำหรับเชลล์ที่ต่างกัน: ทุกโปรแกรมที่ไม่ได้เรียกจากเทอร์มินัลใช้ตัวแปรสภาพแวดล้อมที่ระบุไว้ด้านบน ทุกโปรแกรมที่เรียกจากเทอร์มินัลให้ใช้ตัวแปรที่ระบุไว้ใน. bashrc / .profile / .zshrc เป็นต้น
Gio
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.