Thiết lập bí danh trong zsh


75

Tôi biết rằng trong bash, bạn có thể thiết lập các bí danh trong tệp .bash_aliases để lệnh bạn nhập không cần phải là một lệnh được lưu trữ trong các nhị phân trong hệ thống. Có cách nào tôi có thể lấy bí danh vào zsh không?

Câu trả lời:


43

bạn có thể làm điều đó bằng lệnh "bí danh" với cú pháp này:

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

đối với các công tắc "gmrL", xem hướng dẫn này, đây là tài liệu tham khảo của tôi. Đối với mỗi tên không có giá trị, zsh sẽ in tên và tên của nó trước đó. Không có đối số nào, bí danh in các giá trị của TẤT CẢ các bí danh được xác định.

Để xác định một hoặc nhiều bí danh, chỉ cần nhập

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

Đối với mỗi tên có giá trị tương ứng, zsh xác định bí danh với giá trị đó. để biết thêm thông tin, hãy kiểm tra liên kết đó ;-)

Cập nhật: cập nhật liên kết chết.


Tài liệu đó đã trả lời chính xác câu hỏi của tôi. Cảm ơn nhiều.
Thomas Ward

Liên kết đó là xuống.
Soham Chowdhury

cập nhật liên kết.
sazary

8
câu trả lời này bỏ lỡ phần về nơi tồn tại các bí danh, câu trả lời Kurtosis bao gồm nó (.zshrc).
Felix

1
Tôi sử dụng ~/.profileđể lưu trữ tất cả các bí danh mà tôi quan tâm và lấy ~/.profilenó từ đó ~/.zshrc.
danba

140

Tôi qua lại giữa bash và zsh và sử dụng cùng một tệp .aliases cho cả hai. Chúng chia sẻ cùng một cú pháp bí danh cơ bản, vì vậy bạn có thể tạo tệp .aliases và liên kết nó với .bashrc và .zshrc:

.bashrc:

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

.zshrc:

source $HOME/.aliases

Fwiw này cũng có thể được thực hiện với các khai báo biến môi trường, trong một tệp .env riêng .


Tôi vừa thêm nguồn ~ / .bash_aliases vào cuối .zshrc, vì vậy tất cả các bí danh đều hoạt động trên cả bash và zsh
talsibony

@talsibony như thế này: ~/ .bash_aliasesTôi cần sự giúp đỡ nhỏ nếu bạn ở đó, trả lời
lewis4u

@ lewis4u Không nên có khoảng cách giữa ~ / và .bash_aliases. Nó phải chính xác ~ / .bash_aliases.
Kurtosis

Liên kết của bạn bị hỏng ..
Ilan.b

10

Bạn thường đặt chúng vào ~/.zshenv. Nhưng nhiều chương trình sử dụng /bin/sh(thường bash) thay vì $SHELLthực thi các lệnh shell, vì vậy để nó hoạt động ở mọi nơi, có lẽ bạn sẽ cần phải đặt bashtương đương với bí danh vào ~/.bash_aliasesbất cứ cách nào.


Cái này chỉ dành cho tài khoản người dùng của tôi, vì vậy không cần sao chép vào tập tin ~ / .bash_aliases.
Thomas Ward
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.