Câu hỏi Cách tạo "bí danh" vĩnh viễn? [bản sao]


Câu hỏi này đã có câu trả lời ở đây:

Ví dụ: nếu bạn tạo bí danh:

alias cls="clear"

Nó tồn tại cho đến khi bạn giết phiên terminall. Khi bạn bắt đầu một cửa sổ đầu cuối mới, bí danh không tồn tại nữa. Làm thế nào để tạo ra "vĩnh viễn" bí danh, một trong đó tồn tại trong mỗi phiên thiết bị đầu cuối?


165
2017-08-06 15:14


gốc


Đối với ví dụ cụ thể này, ^ L (Control-l) cũng xóa màn hình. - loevborg


Các câu trả lời:


Bạn có thể đặt các bí danh như vậy trong ~/.bash_aliases tập tin.

Tệp đó được tải bởi ~/.bashrc. Trên Ubuntu 10.04, các dòng sau cần phải được uncommented để cho phép sử dụng ~/.bash_aliases. Trên Ubuntu 11.04 trở lên, nó đã được kích hoạt:

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

Lệnh bí danh sẽ có sẵn trên bất kỳ thiết bị đầu cuối mới nào. Để có lệnh bí danh trên bất kỳ thiết bị đầu cuối hiện tại nào cần phải có nguồn ~/.bashrc từ thiết bị đầu cuối đó,

source ~/.bashrc

186
2017-10-06 19:45



+1 Tôi khuyên bạn nên chỉnh sửa này ~ / .bashrc. Trong khi thực sự hữu ích cho một loạt các mục đích khác, ~ / .bashrc chỉ có quá nhiều yếu tố có thể ném ra một người dùng không quen thuộc với các đặc thù của vỏ Linux. - ændrük
thí dụ: echo "cls='clear'" >> ~/.bash_aliases && source ~/.bash_aliases - hobs
@ ændrük Tôi thực sự tìm thấy sự phong phú của các tập tin cấu hình shell gây nhầm lẫn. Trong tâm trí của tôi nó là dễ dàng hơn nếu có một tập tin cấu hình khá dài với tất cả các thiết lập. - haziz
@hobs nó phải là: echo "alias cls='clear'" >> ~/.bash_aliases && source ~/.bash_aliases - Amir Ali Akbari
gracias cho việc điều chỉnh - hobs


Thêm dòng của bạn vào ~/.bashrc hoặc vào ~/.profile / ~/.bash_profile để đăng nhập từ xa.

Nếu bạn muốn lệnh được thực hiện cho tất cả người dùng, hãy đặt nó vào /etc/bash.bashrc.

Chỉnh sửa: Trong các phiên bản mới nhất của Ubuntu, ~/.bashrc nguồn tự động ~/.bash_aliases, vì vậy các bí danh vĩnh viễn được đưa vào tệp này tốt nhất thay thế.


35
2017-08-06 15:26



Cảm ơn, nó đã hoạt động khi tôi viết trong ~ / .bachrc P.S. Không có ~ / .profiles trong thư mục chính của tôi. - Zango
.profile có thể là .bash_profile bây giờ - txwikinger
Nếu tệp được đề cập không tồn tại, bạn có thể chỉ cần tạo tệp đó. - Ryan Thompson
Cảm ơn, tôi đã tự hỏi sự khác biệt giữa hai điều đó là gì. (bashrc và bash_profile) - emf
joshstaiger.org/archives/2005/07/bash_profile_vs.html cho sự khác biệt giữa ~ / .bash_profile và ~ / .bashrc - Indrajeet Gour


Bạn có thể thêm hàm dưới đây vào tệp .bashrc của bạn.

function permalias () 
{ 
  alias "$*";
  echo alias "$*" >> ~/.bash_aliases
}

Sau đó mở một thiết bị đầu cuối mới hoặc chạy source ~/.bashrc trong thiết bị đầu cuối hiện tại của bạn. Bây giờ bạn có thể tạo bí danh vĩnh viễn bằng cách sử dụng permalias lệnh, ví dụ permalias cls=clear.


18
2017-11-17 21:22



Lưu ý sử dụng: khi tôi nhập mkalias smount='sudo mount' các dấu ngoặc kép không được lặp đi lặp lại, vì vậy giải pháp của tôi là mkalias "smount='sudo mount'" Nếu bạn đang bí danh một lệnh 2+ từ, bạn cũng sẽ cần điều này. - TecBrat


Gắn lệnh đó vào dòng cuối cùng của bạn ~/.bash_profile


4
2017-08-06 15:17



Tại sao không ~/.bashrc? - mac9416
bashrc được ưa thích, tôi hiểu, mặc dù không rõ ràng tại sao - emf


Xem http://www.joshstaiger.org/archives/2005/07/bash_profile_vs.html cho sự khác biệt giữa ~/.bash_profile và ~/.bashrc

~/.bashrc được chạy mỗi khi bạn mở một thiết bị đầu cuối mới, trong khi ~/.bash_profile không phải. ~/.bashrc chứa các phần sau, bao gồm ~/.bash_aliases tập tin. Đây sẽ là nơi thích hợp nhất để thêm bí danh của bạn.

# Alias definitions.
# You may want to put all your additions into a separate file like
# ~/.bash_aliases, instead of adding them here directly.
# See /usr/share/doc/bash-doc/examples in the bash-doc package.

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

4
2017-07-03 11:00





reset
echo "Enter alias like this:"
echo "alias dir='ls'"
read var
echo "$var" >> /home/$user/.bashrc && . ~/.bashrc
cat .bashrc

-3
2018-04-01 21:18



Xin giải thích, câu trả lời của bạn là gì. Chỉ cần hiển thị một loạt các mã là gần như không bao giờ tốt. NẾU bạn làm như vậy, hãy ping tôi với một bình luận cho @DavidFoerster và tôi sẽ bỏ phiếu cho câu trả lời của bạn. - David Foerster