ทำไม. bashrc ไม่ทำงานโดยอัตโนมัติ


202

ฉันวางคำสั่ง alias ไว้ใน.bashrcไฟล์ของฉันเพื่อให้สามารถโหลดได้ทุกครั้งที่ฉันเปิดหน้าต่าง Terminal ใหม่ แต่สิ่งนี้ไม่ได้เกิดขึ้น

ฉันต้องเลือกrun script:ในเทอร์มินัล> การตั้งค่า> " MyDefaultTheme "> Shell prefpane และเพิ่ม: source .bashrc && clearเพื่อให้ใช้งานได้ ...

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

โปรดทราบว่าฉันไม่ได้ทำงานbashเมื่อใช้เทอร์มินัลฉันชอบอีกอันหนึ่ง (ค่าเริ่มต้น) หนึ่ง (ไม่รู้ว่ามันคืออะไร) ดีกว่าเพราะมันแสดงให้ฉันเห็นว่าฉันอยู่ที่ไหนตลอดเวลาเช่น:

>>d54c6b47b:~ romeo$

แทน:

>>bash$

ใน bash ทั้งหมดจะถูกโหลดตามที่ควรจะเป็น

ดังนั้นคำถามของฉันคือเหตุใด.bashrcไฟล์ของฉันจึงไม่โหลดโดยอัตโนมัติและฉันต้องเพิ่มตัวเลือกเพื่อเรียกมันทุกครั้งหรือไม่

ด้วยการสอนบางอย่างบอกให้ฉันทำสิ่งที่ชอบ:

$alias la=’ls -la >> ~/.bashrc

ซึ่งควรเขียนนามแฝงกับฉัน.bashrcนี้ไม่ทำงานอย่างใดอย่างหนึ่ง ...

โปรดทราบว่าฉันเป็นสามเณร UNIX ดังนั้นโปรดอ่อนโยน


ผมคิดว่านี่คือการใกล้ชิดกับapple.stackexchange.com/questions/7984/...
boehj

@boehj ดีมันพูดถึง "ไม่ได้โหลด.bashrc" แต่นั่นเป็นเรื่องเกี่ยวกับมัน
Jari Keinänen

ตกลงขอโทษด้วยถ้าฉันสับสนสิ่งต่าง ๆ ที่นี่
boehj

คุณอาจชอบcsh(หรือตัวแปรอื่น) ดีกว่า แต่คุณควรรู้ว่า>>bash$สามารถเปลี่ยนแปลงได้ :)
vol7ron

หากคุณต้องการให้คำสั่งรันonloadสร้าง.profileในโฮมไดเรกทอรีของคุณ
Kolob Canyon

คำตอบ:


94

เพียงแค่ใส่มันใน.profileไฟล์ของคุณจาก dir ที่บ้านของคุณและมันจะทำงานในครั้งต่อไปที่คุณเริ่มเชลล์ใหม่หรือหลังจากที่คุณทำงานsource ~/.profile

ลิงก์นี้ระบุลำดับที่จะอ่านและโหลดไฟล์เริ่มต้นโดยเชลล์อย่างชัดเจน: http://hayne.net/MacDev/Notes/unixFAQ.html#shellStartup


ยอมรับอันนี้เพราะมันมีทางออก (และมันเป็นครั้งแรกของสองโพสต์ใกล้เคียงกัน)
romeovs

37
ลงโหวต ฉันไม่แนะนำให้ทำตามคำแนะนำนี้ ปัญหาก็คือเทอร์มิสร้างเปลือกหอยเข้าสู่ระบบและเปลือกหอยทุบตีเข้าสู่ระบบเพียง~/.bashrcเรียกใช้สคริปต์การเริ่มต้นการเข้าสู่ระบบไม่ได้ อย่างไรก็ตามโซลูชันไม่ได้เพียงแค่วาง.bashrcเนื้อหาของคุณลงในไฟล์เริ่มต้นเข้าสู่ระบบเพราะไฟล์ทั้งสองนี้มีจุดประสงค์เพื่อดำเนินการตั้งค่าประเภทต่างๆ แต่การตั้งค่ามาตรฐานสำหรับ Bash นั้นจะต้องให้~/.bash_profileแหล่งที่มาของคุณ~/.bashrcในบางจุดที่เหมาะสมในสคริปต์
Chris Page

ฉันไม่เห็นโพสต์ที่เหมือนกันนี้เพียงแค่บอกว่าใส่ไว้ในไฟล์ sh
Mark

218

เคยทำมาแล้ว สิ่งที่ฉันรู้ก็คือ OS X ไม่อ่าน.bashrcไฟล์เมื่อเริ่มต้นทุบตี แต่จะอ่านไฟล์ต่อไปนี้แทน (ตามลำดับต่อไปนี้):

  1. /etc/profile
  2. ~/.bash_profile
  3. ~/.bash_login
  4. ~/.profile

ดูข้อคิดเห็นและข้อมูลที่เป็นประโยชน์ของChris Johnsen :

โดยค่าเริ่มต้นเทอร์มินัลเริ่มเชลล์ผ่าน/usr/bin/loginซึ่งทำให้เชลล์เป็นเชลล์ล็อกอิน ในทุกแพลตฟอร์ม (ไม่เพียง แต่ Mac OS X) ทุบตีไม่ได้ใช้.bashrcสำหรับการเข้าสู่ระบบเปลือกหอย (เฉพาะ/etc/profileและเป็นครั้งแรกของ.bash_profile, .bash_login, .profileที่อยู่และสามารถอ่านได้) นี่คือเหตุผลที่ "ใส่source ~/.bashrcในของคุณ.bash_profile" เป็นคำแนะนำมาตรฐาน

ฉันมักจะเพียงแค่นำสิ่งที่ฉันต้องการปกติใส่ใน~/.bashrcการ~/.profile- ได้ทำงานเพื่อให้ห่างไกลเช่นเสน่ห์


38
โดยค่าเริ่มต้นเทอร์มินัลเริ่มเชลล์ผ่าน/usr/bin/loginซึ่งทำให้เชลล์เป็นเชลล์ล็อกอิน ในทุกแพลตฟอร์ม (ไม่เพียง แต่ Mac OS X) ทุบตีไม่ได้ใช้.bashrcสำหรับการเข้าสู่ระบบเปลือกหอย (เฉพาะ/etc/profileและเป็นครั้งแรกของ.bash_profile, .bash_login, .profileที่อยู่และสามารถอ่านได้) นี่คือเหตุผลที่คำแนะนำมาตรฐาน"ใส่source ~/.bashrcในของคุณ.bash_profile"
Chris Johnsen

5
Re "ฉันมักจะใส่สิ่งที่ฉันปกติใส่ใน ~ / .bashrc เป็น ~ / .profile": เพื่อความเข้ากันได้สูงสุดฉันแนะนำให้คุณทำตามคำแนะนำของ Chris Johnsen และวางสิ่งที่คุณต้องการใช้กับเชลล์ที่ไม่ใช่การเข้าสู่ระบบ ~ / .bashrc และเพิ่ม "source ~ / .bashrc" ลงใน ~ / .bash_profile ของคุณเพื่อรันสำหรับเชลล์ล็อกอิน มิฉะนั้นจะไม่สามารถใช้งานได้สำหรับเชลล์ย่อยหรือหากเทอร์มินัลเปลี่ยนเพื่อสร้างเชลล์ที่ไม่ได้ล็อกอินหรือหากคุณเคยใช้ xterm หรือโปรแกรมเทอร์มินัลอื่นที่สร้างเชลล์ที่ไม่ใช่การเข้าสู่ระบบตามค่าเริ่มต้นหรือหากคุณต้องการใช้ การตั้งค่าเดียวกันในระบบปฏิบัติการอื่น
Chris หน้า

4
ในบันทึกที่เกี่ยวข้องบน Mac OS X คุณควรพิจารณาให้มี ~ / .bashrc run / etc / bashrc เพื่อรับพฤติกรรมทั่วโลก โดยเฉพาะอย่างยิ่งมีโค้ดใน / etc / bashrc เพื่ออัปเดตไดเรกทอรีการทำงานในแต่ละพรอมต์ซึ่งเป็นสิ่งที่ทำให้ Terminal สามารถแสดงไอคอนพร็อกซีสร้างเทอร์มินัลใหม่ในไดเรกทอรีเดียวกันและกู้คืนไดเรกทอรีการทำงานสำหรับ Resume และ Window Groups
Chris หน้า

สำหรับฉันการจัดหา. bashrc จาก. bash_profile ไม่ทำงาน แต่การจัดหา. bashrc / .bash_profile จาก. profile ทำงาน
Ken Russell

2
คำตอบที่ดี แต่ค่อนข้างผิด ผมเชื่อว่าโหลดขั้วทุบตีเพียงหนึ่งของ~/.bash_profile, ~/.profile, ~/.bash_loginไม่ทั้งหมดของพวกเขา คุณสามารถรันการทดสอบอย่างง่ายโดยสร้างไฟล์ 3 ไฟล์ ดูเหมือนว่าขั้วทุบตีมีการตั้งค่าของ~/.bash_profile> >~/.bash_login ~/.profileหากมีใครในพวกเขาอยู่คนที่ชอบน้อยกว่าจะถูกข้ามไป นั่นเป็นเหตุผลที่บางครั้งก็จะแนะนำให้ยังเป็นแหล่งใน~/.profile ~/.bash_profile
neurite

25

ผมใส่ทุกอย่างลง~/.bashrcและเพียงแค่source ~/.bashrcใน .profile

นี้จะช่วยให้หน้าจอและ xterm (และผมคิดว่า tmux) การประชุมจะได้รับมรดกของฉันเป็นสภาพแวดล้อมการประชุมที่ไม่ได้เข้าสู่ระบบเท่านั้นทำงาน.bashrcในขณะที่การประชุมเข้าสู่ระบบ (เช่นขั้วหรือ iTerm) .profileวิ่งเพียง


1
นี่คือแนวทางของฉัน วิธีนี้ฉันสามารถรักษา. bashrc ที่ใช้งานได้กับทั้งสองระบบ ... และฉันสามารถใส่สิ่งที่เฉพาะเจาะจงของ Mac หรือสิ่งอื่น ๆ เช่นนามแฝงที่ใช้งานได้เท่านั้น
Michael Durrant

2
โปรดทราบว่า.profileเป็นเรื่องธรรมดาสำหรับเชลล์หลาย ๆ ตัวและควรมีรหัส sh ที่ทำงานร่วมกันได้กับ POSIX เท่านั้น หากแหล่งที่มา.bashrcมันมีเนื้อหาเฉพาะรหัสทุบตี ( .bashrcไฟล์ที่มีอยู่คือทุบตีเฉพาะ) ฉันขอแนะนำให้เปลี่ยนชื่อของคุณ.profileเป็น.bash_profileเพราะคุณใช้ในวิธีเฉพาะ Bash หรือใส่รหัสทั่วไปใน.profileและสร้าง.bash_profileแหล่งที่มาและ.profile .bashrc
Chris Page

19

มีสองสถานการณ์:

  1. คุณกำลังใช้งาน Linux
  2. คุณใช้ Mac Os X

สำหรับทั้งคุณต้องการแหล่งที่มา~/.bashrcในโปรไฟล์ของคุณที่ถูกโหลดหรือแหล่งที่มาเมื่อเชลล์สำหรับเทอร์มินัลของคุณเริ่มต้น


LINUX

ใน Linux นั้น~/.profileจะเป็นซอร์สในเชลล์โดยอัตโนมัติเมื่อมันเริ่มทำงาน ดังนั้นถ้าคุณไปที่เทอร์มินัลและประเภทของcd ~; ls -Aคุณคุณจะเห็นไฟล์และไดเรกทอรีทั้งหมดในโฮมไดเร็กตอรี่ของคุณ ( /home/usrname/) .profileคุณควรจะเห็นไฟล์ที่เรียกว่า นี่คือไฟล์ที่ "แหล่ง" โดยอัตโนมัติเมื่อคุณเริ่มต้นเทอร์มินัล

ถ้าคุณต้องการที่จะเพิ่มชื่อแทนและฟังก์ชั่นเพื่อ~/.bashrc(ซึ่งเป็นสิ่งที่ฉันทำ) แล้วคุณควร (ภายในของการ~/.profileเพิ่มคำสั่ง if ถ้าตรวจสอบว่า~/.bashrcเป็นไฟล์ที่ไม่ว่างเปล่าแล้วแหล่งที่มามัน

เพื่อตรวจสอบว่าคุณอยู่แล้วนี้ไม่ใส่~/.profile nano ~/.profileสิ่งนี้จะเปิดขึ้นในโปรแกรมแก้ไขข้อความ (คุณสามารถใช้ gedit ถ้าคุณรู้ว่าคุณมีมันหรือแม้กระทั่งเป็นกลุ่มถ้าคุณรู้วิธีใช้งาน) คุณอาจได้รับไฟล์ข้อความที่ว่างเปล่า (คุณไม่ควร) แต่ถ้าคุณทำต่อไป หากคุณไม่เห็นบรรทัดใด ๆที่ระบุsource ~/.bashrcให้ป้อนบรรทัดต่อไปนี้ที่ใดที่หนึ่ง (วางไว้ในตำแหน่งที่เหมาะสมเช่นที่ส่วนท้ายหรือจุดเริ่มต้นและไม่อยู่ตรงกลางของคำสั่ง if):

if [ -s ~/.bashrc ]; then
    source ~/.bashrc;
fi

ไฟล์นี้จะตรวจสอบว่า~/.bashrcเป็นไฟล์ที่ไม่ว่างเปล่าหรือไม่และมีไฟล์[ -s ~/.bashrc ]ดังกล่าวหรือไม่ ค่อนข้างง่าย ตอนนี้คุณสามารถเพิ่มถูกต้องใด ๆ นามแฝงฟังก์ชั่นตัวแปร ~/.bashrcฯลฯ


MAC OS X

~/.bash_profileโดยค่าเริ่มต้นแหล่ง Max OS X เพื่อให้สามารถเพิ่มสิ่งต่าง ๆ ลงไป~/.bashrc(ซึ่งก็คืออีกครั้งสิ่งที่ฉันทำใน OS X เช่นกัน) จากนั้นคุณทำตามขั้นตอนเดียวกับ linux ใน terminal cd ~; nano .bash_profileใส่ ตรวจสอบบรรทัดที่ระบุว่าsource ~/.bashrcและหากยังไม่มีให้เพิ่มคำสั่ง if ด้านบน ( if [ -s ~/.bashrc ]; then source ~/.bashrc; fi)


หมายเหตุ

เมื่อเขียนคำสั่ง if ให้แน่ใจว่าได้เว้นช่องว่างระหว่างทุกสิ่งโดยทั่วไป (ตัวอย่างเช่นif [ -s ~/.bashrc]; then echo "found"; fiไม่ทำงานเพราะไม่มีที่ว่างเลย~/.bashrcและ]- ล่ามจะคิดว่านี่เป็นคำเดียว)

ถ้าคุณต้องการที่จะคิดออกว่าเพื่อตรวจสอบสิ่งที่อยู่ในงบถ้าดีขึ้นไปยังสถานีและป้อนman \[; สิ่งนี้จะทำให้คุณหมดคำสั่ง if ตัวอย่างเช่นif [ -f /path/to/file ]; then echo "it's a file"; else echo "not a file"; fiตรวจสอบว่า/path/to/fileเป็นไฟล์หรือไม่และพิมพ์ออกมาเป็น stdout ตามนั้นหรือไม่ ฉันมักจะอ้างถึงสิ่งนี้เช่นกันเพื่อให้ง่ายต่อการมองเห็นและอ้างอิงอย่างรวดเร็ว: 7.2 ผู้ประกอบการทดสอบไฟล์

ฉันหวังว่านี่จะช่วยได้. ฉันจำได้ว่าฉันสับสนเมื่อฉันเริ่มต้นทุกสิ่งนี้ (ซึ่งไม่นานมานี้); โชคดีกับความพยายามของ UNIX ในอนาคตของคุณ!


บน linux นั้น.profileจะมีที่มาเฉพาะถ้าเชลล์ของคุณเป็นเชลล์สำหรับเข้าสู่ระบบเท่านั้นมิฉะนั้น.bashrcจะมีที่มา
smac89

11

การจัดหา. profile ใน. bash_profile ทำเพื่อฉัน

echo 'source ~/.profile' >> ~/.bash_profile

1
การจัดหา. profile ใน. bash_profile เป็นสิ่งที่ยอดเยี่ยมที่ต้องทำ แต่เพียงอย่างเดียวจะไม่ทำให้ bashrc นั้นถูกเรียกใช้โดยเชลล์ล็อกอิน . profile ของคุณต้องเป็นแหล่งที่มาของ. bashrc ซึ่งอาจทำให้เกิดปัญหาหากคุณเคยใช้เชลล์อื่นที่ไม่ใช่ bash ผู้ใช้ Mac ส่วนใหญ่จะไม่ทำเช่นนั้น แต่ถ้าคุณทำด้วยเหตุผลบางอย่างให้จดจำสิ่งนี้ :)
Terry N

เพื่อขยายในสิ่งที่ @TerryN กล่าวว่า: ให้แน่ใจว่าได้มา.bashrcจากคุณและไม่ได้มาจาก.bash_profile เป็น Bash เฉพาะและควรแหล่งที่มาอีกสอง .profile.bash_profile
Chris Page

6

ฉันพบว่าหลังจากติดตั้ง rvm (ตัวติดตั้งอัตโนมัติไม่มีการแก้ไขด้วยตนเอง) มันได้สร้าง~/.bash_loginไฟล์สำหรับตัวเองซึ่งก่อนหน้านี้ฉันไม่เคยมีเลย

อย่างไรก็ตามนี่หมายความว่า~/.profileการตั้งค่าและชื่อแทนของฉันไม่ได้โหลดอีกต่อไป! ทางลัดจำนวนมากหายไป ฉันคิดว่าพวกเขาวิ่งตามลำดับไม่ใช่เฉพาะ: - /

ฉันเพิ่ม

. ~/.profile 

เพื่อ~/.bash_loginห่วงโซ่สิ่งที่ฉันคาดหวัง


+1 นี่คือสถานการณ์ที่ฉันมี ฉันพบว่า. bash_login หรือ. bash_profile จะป้องกันไม่ให้โปรไฟล์ดำเนินการ ... ไม่ทราบว่าทำไมทุบตีรู้สึกว่าจำเป็นต้องมีไฟล์เริ่มต้นที่ขัดแย้งกันจำนวนมาก
RichVel

.profileเป็นเรื่องธรรมดาสำหรับเชลล์ที่แตกต่างกันและควรมีรหัส sh ที่ทำงานร่วมกันได้กับ POSIX เท่านั้น .bash_profileเป็น Bash-specific และสามารถมีรหัสเฉพาะ Bash โดยทั่วไปหากคุณใช้ Bash คุณควรเลือกใช้.bash_profileเว้นแต่คุณจะระมัดระวังเพื่อให้แน่ใจว่ารหัสเริ่มต้นของคุณไม่มีสิ่งใดที่ขึ้นอยู่กับ Bash โปรแกรมใดก็ตามที่สร้างขึ้น.bash_loginอาจทำเช่นนั้นเนื่องจากมีรหัสเฉพาะของ Bash แต่ควรรวมรหัสไปยังแหล่งที่มา.profileหากมีอยู่
Chris Page

3

ใส่ ...

[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm" # Load RVM function

... ใน~/.bashrcจากนั้นแหล่งที่มา~/.bashrcลงในฉัน~/.bash_profile ไม่สามารถใช้งานได้กับโปรแกรม Terminal ที่ติดตั้งมา

แต่จากนั้นฉันไปที่เมนูแบบเลื่อนลงแก้ไข> การตั้งค่าโปรไฟล์ , ชื่อเรื่องและแท็บคำสั่งและเลือกคำสั่งเรียกใช้เป็นเปลือกเข้าสู่ระบบจากส่วนคำสั่งของหน้านั้น

หลังจากทำเช่นนั้นการเริ่มต้นเทอร์มินัลใหม่จะแสดงผลลัพธ์ที่ต้องการเมื่อฉันพิมพ์

 type rvm|head -1

เช่น "rvm เป็นฟังก์ชั่น" มันไม่ได้ทำอย่างนั้นจนกว่าฉันจะทำการเปลี่ยนแปลงนี้และมันเป็นเพียงการเปลี่ยนแปลงเดียวที่ฉันทำหลังจาก.bash_profileและ.bashrcการเปลี่ยนแปลงที่อธิบายไว้ในคำตอบอื่น ๆ ที่นี่


2

ก่อนอื่นให้ฉันบอกคุณว่า~/.bashrcเป็นไฟล์ที่ถูกเรียกใช้งานทุกครั้งที่เชลล์ตัวที่สองถูกเรียกใช้งาน (เมื่อใช้งานเชลล์สคริปต์) และ~/.profileถูกเรียกใช้ในการเข้าสู่ระบบทุกครั้ง

ดังนั้นฉันขอแนะนำให้คุณเขียน. ~/.bashrcคำสั่งใน~/.profileไฟล์ของคุณและคำสั่งนี้จะดำเนินการไฟล์ bashrc ทุกครั้งที่คุณเข้าสู่ระบบ


เมื่อ. profile ได้รับการดำเนินการในการเข้าสู่ระบบมันจะดำเนินการโดยอัตโนมัติไฟล์. bashrc
arun rana

ดังนั้น. bashrc จะถูกดำเนินการทางอ้อมทุกครั้งที่เข้าสู่ระบบ
arun rana

1
bashrc สำหรับเปลือกหอยที่ไม่ได้เข้าสู่ระบบ bash_profile / bash_login / profile / สิ่งอื่นสำหรับเชลล์ล็อกอิน นี่คือแหล่งที่มาของความขัดแย้งจำนวนมากที่เกี่ยวข้องกับสิ่งที่เป็นและไม่ใช่เชลล์การเข้าสู่ระบบ (ตัวอย่างเช่นหน้าจอ / tmux เซสชันเทอร์มินัลภายในสภาพแวดล้อมเดสก์ท็อป ฯลฯ ) มันไม่จำเป็นว่า "เปลือกที่สอง" มันเป็นเรื่องของการเข้าสู่เชลล์
Jason Salaz

3
หากคุณเคยใช้เชลล์ที่ไม่ใช่ Bash การทำสิ่งที่คุณอธิบายอาจทำให้คุณมีปัญหา .profile ใช้กับเชลล์ทั้งหมดและ. bashrc อาจมีภาษาที่เชลล์อื่นไม่เข้าใจ แทนที่จะเป็น. profile ให้ใส่สิ่งที่คุณเขียนใน. bash_profile (และทำให้สิ่งแรก. bash_profile เป็น "source .profile")
Terry N

1

ฉันพบปัญหาเดียวกันหลังจากติดตั้ง rbenv บนเซิร์ฟเวอร์ระยะไกลของฉัน (Digital Ocean) Ubuntu 16.04

มันสร้างขึ้น~/.bash_profileมา มันเหมือนกัน~/.bashrcในระบบ OS X

และอูบุนตูเริ่มอ่านอย่างเดียว~/.bash_profileแต่ไม่~/.bashrcควรทำ

ดังนั้นฉันเพิ่งสำรองข้อมูล~/.bash_profileด้วย:

mv ~/.bash_profile ~/.bash_profile.bak

และเปลี่ยนชื่อเก่า~/.bashrcเป็น~/.bash_profile

mv ~/.bashrc ~/.bash_profile

มันใช้งานได้สำหรับฉัน หลังจากเข้าสู่ระบบ SSH ~/.bashrcของฉันฉันมีทุกอย่างในการโหลด


0

ในกรณีนี้อาจช่วยคนอื่น ...

ตรวจสอบให้แน่ใจว่าคุณกำลังแก้ไข.bashrcไฟล์ที่ถูกต้องสำหรับผู้ใช้ที่เหมาะสม ฉันมีปัญหาที่คล้ายกันโดยใช้ Vagrant หลังจากเรียกใช้ไฟล์vagrant sshของฉัน.bashrcไม่ได้ถูกเรียกใช้ วิธีแก้ปัญหานั้นง่ายมากที่ฉันคิดว่าคนเร่ร่อนกำลังลงชื่อเข้าใช้ด้วยชื่อผู้ใช้คนจรจัดและจริง ๆ แล้วฉันลงชื่อเข้าใช้ด้วยชื่อผู้ใช้อื่น ดังนั้นฉันจึงแก้ไข.bashrcไฟล์ผิด หลังจากแก้ไข.bashrcไฟล์ที่ถูกต้องแล้วนามแฝงของฉันก็รู้จัก


-1

อย่างไรก็ตามถ้าคุณเปิดใช้งาน ZSH มันจะแทนที่ bash!

ดังนั้น~/.bashrcไฟล์เหล่านั้นไม่ได้รับการโหลด

คุณต้องตั้งค่านามแฝง~/.zshrcแทน


-2

เพื่อให้มีการเข้าสู่ระบบสไตล์ OSX .profileและสนับสนุนพฤติกรรมทุบตีปกติ.bashrcคุณสามารถใช้.bashrcไฟล์ถ้าคุณสลับไปมาระหว่างระวังปกติและ OSX โดยการให้การเชื่อมโยงสัญลักษณ์ที่คุณไฟล์ที่เรียกว่า.bashrc .bash_profileตรวจสอบให้แน่ใจว่าไฟล์นี้ไม่มีอยู่แล้วก่อนที่จะลอง แต่นี่เป็นวิธีที่ฉันทำ

ln -s .bashrc .bash_profile

ด้วยการทำลิงก์นี้ระหว่างสคริปต์การเริ่มต้นเชลล์ที่แตกต่างกัน 2 รายการคุณจะสูญเสียการแยกฟังก์ชันที่จำเป็น หนึ่งวันหรืออีกวันคุณจะต้องมีการเริ่มต้นที่ระดับเซสชัน ( .bash_profile) และการเริ่มต้นแตกต่างกันในแต่ละระดับเชลล์ ( .bashrc)
แดน

-2

/ etc / bashrc ใช้สำหรับโปรไฟล์ส่วนกลางบนระบบ mac คุณสามารถเพิ่ม: alias ls = "ls -G" ที่ด้านบนของไฟล์นี้และประโยชน์ของคุณทุกคนจะมีไฟล์และโฟลเดอร์ colorized บนระบบดังนั้นคุณจะไม่ต้องตั้งค่าอะไรเพิ่มเติมสำหรับผู้ใช้แต่ละคน คุณจะสังเกตเห็นพร้อมกับ "sudo su -" เพื่อรูทจากตัวคุณเองคุณจะยังมีไฟล์และโฟลเดอร์ colorized ที่ไม่มีอาการปวดหัวเป็นพิเศษ

เคล็ดลับความสนุกอีกอย่าง: เมื่อใช้ Iterm2 ของ mac การนำเข้าโพรไฟล์สีจะทำให้สีของไฟล์และโฟลเดอร์เป็นไปตามรูปแบบสีของคุณทันทีหลังจากตั้งค่าตัวเลือก "/ etc / bashrc" นี้

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