ฉันจะแสดงและแก้ไขนามแฝงที่กำหนดไว้ทั้งหมดใน Terminal ได้อย่างไร


93

เพื่อนที่เป็นเจ้าของ Mac ปัจจุบันของฉันก่อนที่ฉันจะสร้างคำสั่ง alias จำนวนมาก มีวิธีแสดงรายการชื่อแทนที่กำหนดไว้ทั้งหมดและคำสั่งที่เกี่ยวข้องกับรายการเหล่านั้นหรือไม่

และถ้าเป็นเช่นนั้นฉันสามารถแก้ไขได้หรือฉันควรลบออกโดยใช้ unalias และสร้างใหม่อีกครั้ง?

คำตอบ:


105

สิ่งที่คุณต้องทำคือพิมพ์aliasที่พรอมต์และนามแฝงที่ใช้งานอยู่จะปรากฏ

นามแฝงมักจะโหลดเมื่อเริ่มต้นเชลล์ของคุณดังนั้นดูใน.bash_profileหรือ.bashrcในโฮมไดเร็กตอรี่ของคุณ

unaliasจะทำงานสำหรับเซสชันปัจจุบันของคุณเท่านั้น เว้นแต่คุณจะพบว่ามันถูกกำหนดและโหลดอยู่ที่ไหนมันจะถูกโหลดอีกครั้งเมื่อคุณเริ่มเซสชันเทอร์มินัลใหม่

~/.bashrcได้รับการทำงานสำหรับทั้งเปลือกเข้าสู่ระบบและไม่ใช่เข้าสู่ระบบ~/.bash_profileเพียงได้รับการทำงานสำหรับเปลือกเข้าสู่ระบบ

ดูล็อกอินเชลล์กับเชลล์ที่ไม่ใช่ล็อกอิน

ตามความคิดเห็นจาก Chris Page:

คุณควรปรับแต่งส่วนใหญ่ของคุณ (รวมถึงนามแฝง) ใน~/.bashrcและมีการ~/.bash_profileทำงาน~/.bashrcเพื่อให้พวกเขานำไปใช้กับทั้งเปลือกเข้าสู่ระบบ(~/.bash_profile)และไม่ใช่เข้าสู่ระบบ (~/.bashrc)นอกจากนี้ให้ตัดสินใจว่าสิ่งใดควรเป็น "หลัก" และหากโปรไฟล์เป็นตัวเลือกของคุณให้ยึดท้ายไฟล์rcในตอนท้าย หากไฟล์rcเป็นไฟล์หลักให้ระบุแหล่งที่มาที่จุดเริ่มต้นของโปรไฟล์ของคุณ

บรรทัดเหล่านี้ควรอยู่ในไฟล์~/.bash_profile:

if [ -f "$HOME/.bashrc" ] ; then
  source $HOME/.bashrc
fi

ซึ่งจะรวมถึง~/.bashrcล็อกอินเชลล์และตามลำดับที่คุณต้องการหากไฟล์หนึ่งไฟล์ขึ้นอยู่กับไฟล์อื่นตามการตั้งค่าของคุณ


1
ฉันขอแนะนำให้คุณปรับแต่งส่วนใหญ่ใน ~ / .bashrc และมี ~ / .bash_profile run ~ / .bashrc ดังนั้นจึงใช้กับทั้งเปลือกเข้าสู่ระบบ (~ / .bash_profile) และไม่ใช่เข้าสู่ระบบ (~ / .bashrc) เช่นวางไว้ใน ~ / .bash_profile:if [ -f "$HOME"/.bashrc ]; then . "$HOME"/.bashrc fi
Chris หน้า

9

คุณควรดูในไฟล์เหล่านี้:

/etc/profile
~/.profile
~/.bash_profile
~/.bashrc

มันเป็นไฟล์เริ่มต้นที่เป็นไปได้สำหรับเชลล์ของคุณ


".bashrc" เป็นชื่อที่ถูกต้องของไฟล์
Chris หน้า

คุณพูดถูกทำไมฉันไม่เขียนมันแบบนั้น
Cedric H.

ฉันจะแก้ไขได้โดยไม่ต้องแสดงความคิดเห็น แต่ StackExchange จะไม่ให้ฉันแก้ไขตัวละครเดียว
Chris หน้า

ตรวจสอบระบบ / etc / bashrc ทั้งระบบด้วย
EmmEff

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