Bash Alias (Định danh Bash)
Hầu hết các lệnh mà chúng ta sử dụng khi làm việc trên giao diện dòng lệnh là khá quen thuộc. Tuy nhiên, đôi khi chúng ta phải gõ lại các lệnh đó nhiều lần và đây có thể là một công việc tốn thời gian. May mắn thay, trong Bash có thể tạo ra các định danh (alias) riêng của chúng ta, giúp tiết kiệm thời gian bằng cách sử dụng các tên ngắn gọn hơn cho các lệnh dài hơn.
Bash Alias được sử dụng để đặt tên ngắn gọn cho các lệnh dài hơn. Lệnh alias cho phép ta khởi chạy bất kỳ lệnh nào hoặc tập hợp các lệnh đó bằng một từ duy nhất. Ví dụ, ta có thể đặt lệnh “cc” là tên ngắn gọn cho lệnh “clear”. Việc sử dụng “cc + enter” sẽ nhanh hơn nhiều so với việc gõ lệnh “clear”.
Định danh (alias) thường được khai báo trong file ~/.bash_profile hoặc ~/.bashrc.
“Tệp .bash_profile và .bashrc được gọi là file cấu hình cho shell bash. Tất cả các cấu hình bash, chẳng hạn như tất cả các phiên terminal, cấu hình bao gồm các biến môi trường, thư mục mặc định, màu sắc, chủ đề bash, v.v., được lưu trữ trong file cấu hình. Tên của file cấu hình thường là “.bashrc” cho các phiên terminal và “.bash_profile” cho các shell đăng nhập.”
Cấu trúc Bash Alias
Một định danh Bash bao gồm cấu trúc sau:
alias [alias_name]="[command_to_alias]"
Một alias mới được định nghĩa trên một dòng mới với từ khóa ‘alias’. Chúng ta cần định nghĩa lệnh tắt mà chúng ta muốn sử dụng với tên alias, tiếp theo là dấu bằng. Sau đó, chúng ta gõ lệnh đầy đủ mà chúng ta muốn chạy trong dấu ngoặc kép. Không được để khoảng trắng giữa các phần tử liền kề và dấu bằng. Điều này là điều quan trọng cần nhớ, nếu không thì lệnh sẽ bị hỏng.
Tạo Alias Bash
Việc tạo alias trong bash rất đơn giản. Chúng ta có thể khai báo alias vào dòng lệnh bằng cách tuân thủ cấu trúc được hiển thị ở trên.
Hãy bắt đầu với một alias bash đơn giản. Một trong những lệnh thông dụng mà nhiều người dùng sử dụng để hiển thị danh sách tất cả các tập tin và thư mục, bao gồm cả tập tin ẩn, là “ls -la”. Chúng ta có thể tạo một lệnh tắt “ll” để thực hiện hành động “ls -la” bằng cách gõ lệnh sau đây trong cửa sổ terminal:
alias ll="ls -la"
Bây giờ, nếu chúng ta gõ alias “ll” trong terminal, chúng ta sẽ nhận được danh sách tất cả các tập tin và thư mục trong định dạng dài giống với lệnh “ls -la”.
Lưu ý: Cần lưu ý rằng nếu chúng ta đặt các alias thông qua terminal bằng cách này, các alias chỉ có sẵn cho phiên shell hiện tại. Khi chúng ta mở một cửa sổ terminal mới, các alias sẽ không có sẵn.
Nếu chúng ta muốn định nghĩa các alias được lưu trữ vĩnh viễn, chúng ta phải thêm chúng vào một trong các file được đọc khi phiên shell bắt đầu. Lựa chọn phổ biến nhất là ~/.bash_profile hoặc ~/.bashrc, như chúng ta đã đề cập trước đó. Chúng ta cần mở bất kỳ file nào trong số này và thêm các alias vào đó.
Thực hành đặt tên cho các alias dễ nhớ là một thói quen tốt. Cũng nên thêm một chú thích để khai báo toàn bộ hàm liên quan đến các alias của bash để tham khảo trong tương lai.
Nếu chúng ta muốn làm cho file .bashrc của mình có tính modular hơn, chúng ta có thể đặt các alias trong một file riêng, tức là ~/.bash_aliases. Chúng ta cần đảm bảo rằng mã xuất hiện trong file ~/.bashrc:
if [ -e $HOME/.bash_aliases ]; then
source $HOME/.bash_aliases
fi
Xóa một Bash Alias
Để xóa alias, chúng ta cần sử dụng cấu trúc sau đây:
unalias [alias_name]="[command_to_alias]"
Để xóa alias “ll” mà chúng ta đã tạo ở trên, chúng ta có thể sử dụng lệnh unalias:
unalias ll
Kết quả
Alias “ll” sẽ được xóa.
Nếu các alias được khai báo trong ~/.bash_profile hoặc ~/.bashrc, chỉ cần sửa file bằng trình chỉnh sửa văn bản và xóa các alias đó từ đó.
Liệt kê Bash Aliases
Chúng ta có thể liệt kê tất cả các alias được cấu hình bằng cách sử dụng lệnh “alias” trong cửa sổ terminal mà không có bất kỳ đối số nào:
alias
Nó sẽ trông như thế này:
Alias Bash với đối số (Hàm Bash)
Trong một số trường hợp, chúng ta có thể yêu cầu các alias chấp nhận một hoặc nhiều đối số. Trong những trường hợp như vậy, các hàm Bash rất hữu ích.
Dưới đây là cú pháp để tạo các hàm Bash. Nó có thể được khai báo ở hai định dạng khác nhau:
function_name () {
[commands]
}
Hoặc
function function_name {
[commands]
}
Để truyền bất kỳ số lượng đối số nào cho hàm bash, chúng ta có thể đặt chúng ngay sau tên của hàm, cách nhau bởi một dấu cách. Các tham số được truyền có thể là $1, $2, $3, vv. Thông thường, điều này phụ thuộc vào vị trí tương ứng của tham số sau tên hàm. Biến $0 được giữ dành riêng cho tên của hàm.
Bây giờ, chúng ta sẽ tạo một hàm bash đơn giản, sẽ tạo một thư mục và sau đó điều hướng vào đó mà không sử dụng lệnh ‘mkdir’ và ‘cd’:
mkcd ()
{
mkdir -p -- "$1" && cd -p -- "$1"
}
Tương tự như các alias, chúng ta cần thêm hàm vào file /.bashrc và chạy lệnh source/.bash_profile để tải lại file. Ở đây, toán tử AND (&&) đảm bảo rằng lệnh thứ hai chỉ chạy khi lệnh đầu tiên được thực thi thành công. Và dấu gạch ngang hai (- -) đảm bảo rằng chúng ta không truyền thêm đối số cho lệnh.
Bây giờ, chúng ta có thể tạo một thư mục mới và sau đó di chuyển vào thư mục đó bằng lệnh:
mkcd new_directory
Kết quả
Do đó, các alias là một giải pháp tuyệt vời để giảm lượng gõ phím cho các lệnh dài được lặp lại nhiều lần.