การตั้งค่านามแฝงใน zsh


75

ฉันรู้ว่าในทุบตีคุณสามารถตั้งค่านามแฝงในไฟล์. bash_aliases เพื่อให้คำสั่งที่คุณพิมพ์ไม่จำเป็นต้องเป็นคำสั่งที่เก็บไว้ในไบนารีในระบบ มีวิธีใดบ้างที่ฉันจะได้นามแฝงเป็น zsh?

คำตอบ:


43

คุณสามารถทำได้โดยคำสั่ง "นามแฝง" ด้วยไวยากรณ์นี้:

alias [ -gmrL ] [ name[=value] ... ]

สำหรับสวิตช์ "gmrL" ดูคู่มือนี้ซึ่งเป็นข้อมูลอ้างอิงของฉัน สำหรับแต่ละชื่อที่ไม่มีค่า zsh จะพิมพ์ชื่อและชื่อแทนก่อนหน้านี้ ไม่มีข้อโต้แย้งเลย alias จะพิมพ์ค่าของ aliases ที่กำหนดไว้ทั้งหมด

หากต้องการกำหนดชื่อแทนอย่างน้อยหนึ่งรายการให้ป้อน

alias name1=value1 name2=value2 ... nameX=valueX

สำหรับแต่ละชื่อที่มีค่าที่สอดคล้องกัน zsh จะกำหนดนามแฝงด้วยค่านั้น สำหรับข้อมูลเพิ่มเติมโปรดดูที่ลิงก์ ;-)

อัปเดต:อัปเดตลิงก์ที่ไม่ทำงาน


เอกสารนั้นตอบคำถามของฉันอย่างแน่นอน ขอบคุณมาก.
โธมัสวอร์ด

ลิงก์นั้นหยุดทำงาน
Soham Chowdhury

อัพเดทลิงค์
sazary

8
คำตอบนี้ไม่มีส่วนเกี่ยวกับตำแหน่งที่จะคงไว้ซึ่งนามแฝงคำตอบของ Kurtosis รวมไว้ด้วย (.zshrc)
เฟลิกซ์

1
ผมใช้~/.profileในการจัดเก็บชื่อแทนทั้งหมดที่ฉันเกี่ยวกับการดูแลและแหล่งที่มาจาก~/.profile ~/.zshrc
danba

140

ฉันย้อนกลับไปมาระหว่าง bash และ zsh และใช้ไฟล์. aliase เดียวกันทั้งคู่ พวกเขาแบ่งปันไวยากรณ์นามแฝงพื้นฐานเดียวกันดังนั้นคุณสามารถสร้างไฟล์. aliasesและเชื่อมโยงไปยัง. bashrc และ. zshrc:

.bashrc:

if [ -f ~/.aliases ]; then
    . ~/.aliases
fi

.zshrc:

source $HOME/.aliases

Fwiw สิ่งนี้สามารถทำได้ด้วยการประกาศตัวแปรสภาพแวดล้อมในไฟล์ . envแยกต่างหาก


ฉันเพิ่งเพิ่มซอร์ส ~ / .bash_aliases ที่ส่วนท้ายของ. zshrc ดังนั้นชื่อแทนทั้งหมดกำลังทำงานทั้งใน bash และ zsh
talsibony

@talsibony เช่นนี้: ~/ .bash_aliasesฉันต้องการความช่วยเหลือเล็กน้อยโปรดถ้าคุณอยู่ที่นั่นตอบ
lewis4u

@ lewis4u ไม่ควรมีช่องว่างระหว่าง ~ / และ .bash_aliases ควรเป็น ~ / .bash_aliases อย่างแน่นอน
Kurtosis

ลิงก์ของคุณเสียหาย ..
Ilan.b

10

~/.zshenvคุณมักใส่ไว้ใน แต่หลายโปรแกรมใช้งาน/bin/sh(ปกติbash) แทน$SHELLเพื่อรันคำสั่งเปลือกดังนั้นเพื่อให้การทำงานทุกที่ที่คุณอาจจะต้องใส่bashเทียบเท่านามแฝงเข้าไป~/.bash_aliasesอยู่แล้ว


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