ไม่มีไฟล์หรือไดเรกทอรีเช่น. zshrc


2

เมื่อเร็ว ๆ นี้ฉันรู้ว่าฉันไม่สามารถทำงานได้

. .zshrc

ในไดเรกทอรีบ้านของฉัน มันทำให้ฉันมีข้อผิดพลาดข้างต้น มันแปลกจริงๆและมันก็บั่นทอนฉันออกมาเพราะมันทำงานได้อย่างสมบูรณ์แบบในอดีต

ในไดเรกทอรีเดียวกันคำสั่งใด ๆ ด้านล่างทำงานได้ดี

. ~/.zshrc
source .zshrc  

ผลผลิตจาก echo $PATH | tr ':' '\n'

/Users/prashanthcr/.rvm/gems/ruby-2.2.0/bin
/Users/prashanthcr/.rvm/gems/ruby-2.2.0@global/bin
/Users/prashanthcr/.rvm/rubies/ruby-2.2.0/bin
/Users/prashanthcr/.nvm/versions/node/v5.5.0/bin
/Users/prashanthcr/Library/Android/sdk/platform-tools
/Users/prashanthcr/Library/Android/sdk/tools
/usr/local/bin
/usr/bin
/bin
/usr/sbin
/sbin
/opt/X11/bin
/usr/local/MacGPG2/bin
/Users/prashanthcr/.rvm/gems/ruby-2.2.0/bin
/Users/prashanthcr/.rvm/gems/ruby-2.2.0@global/bin
/Users/prashanthcr/.rvm/bin

ใช้ zsh บน OS X 11.11.3

คำตอบ:


4

zshทำงานตามที่คาดไว้ (ดูman zshbuiltins):

  • . Fileค้นหา$PATHเพื่อค้นหาFileเว้นแต่จะมี/ในชื่อ; ในขณะที่
  • sourceเกือบเหมือนกัน.ยกเว้นว่าค้นหาไดเรกทอรีทำงานก่อน

ผมไม่ทราบว่าวิธีการทำงานก่อนหน้านี้เว้นแต่มีข้อผิดพลาดในรุ่นก่อนหน้านี้. .zshrczsh

คุณสามารถ:

  1. alias .=source;
  2. เชื่อมโยง~/.zshrcไปยังไดเรกทอรีใน$PATH;
  3. เพิ่มโฮมไดเร็กตอรี่ของคุณไปยัง$PATH(ไม่แนะนำ); หรือ
  4. อยู่กับที่ต้องพิมพ์. ./.zshrc(นี่คือสิ่งที่ฉันมักจะทำในbashที่ไหน.และsourceเหมือนกันและฉันต้องการให้แน่ใจว่าตำแหน่งของสคริปต์)

2
ขอบคุณสำหรับการอ้างอิงผู้ชาย ฉันเดาว่าฉันอาจผสมกับ bash ซึ่งดูเหมือนจะดูในไดเรกทอรีปัจจุบันเมื่อปิดโหมด POSIX (ซึ่งดูเหมือนจะเป็นการตั้งค่าปกติ)
Prashanth Chandra

ขอบคุณสำหรับความคิดเห็นเกี่ยวกับbash: ผมไม่ได้ตระหนัก.และsourceตรวจสอบไดเรกทอรีปัจจุบัน แต่หลังจากที่หาไม่ตรงกับใน$pathขณะที่sourceในzshการตรวจสอบมันเป็นครั้งแรก ฉันพลาดเพราะผมทดสอบกับสองไฟล์ที่มีชื่อเดียวกันซึ่งเป็นหนึ่งในไดเรกทอรีปัจจุบันที่อื่น ๆ $pathใน
AFH
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.