Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Lập Trình Bash

Làm chủ Bash Profile: Tùy chỉnh Shell để tăng năng suất

Nếu bạn thường xuyên tương tác với Linux qua shell Bash, cuối cùng bạn sẽ muốn tùy chỉnh nó – thêm phím tắt, thiết lập môi trường theo ý thích, thậm chí thêm chút cá nhân hóa.

Đó là lúc Bash profile phát huy tác dụng. Nó lưu trong thư mục home và có thể chỉnh sửa để thiết lập mọi thứ như ý mỗi khi đăng nhập.

Chỉnh sửa Bash Profile

Để sửa bash profile, mở với trình soạn thảo nano bằng lệnh:

nano ~/.bash_profile

Muốn backup profile hiện tại, copy bằng lệnh:

cp .bash_profile .bash_profile.bak

Nếu file ~/.bash_profile không tồn tại, file ~/.profile sẽ được đọc thay thế. Đây là mặc định trên Ubuntu.

Nếu muốn copy nội dung ~/.profile mặc định sang ~/.bash_profile mới để sửa, hãy copy:

cp ~/.profile ~/.bash_profile

Lưu ý ~/ trong shell Linux là shortcut tới thư mục home của user hiện tại.

Ví dụ

Một số điều bạn có thể làm với Bash profile để bắt đầu.

Thay đổi Shell Prompt

Thường prompt trông như sau:

user@hostname:~$

…kết hợp tên user, hostname, thư mục làm việc hiện tại. Thay đổi bằng cách sửa file .bash_profile thêm dòng:

export PS1="🚂"

Sẽ đổi prompt thành emoji đầu máy. Chỉ có này chưa hữu ích lắm, nhưng có thể thêm khác.

Đoạn này đổi prompt thành user hiện tại theo sau emoji đầu máy:

export PS1="\u 🚂"

Bạn có thể thêm text, ký tự, giá trị riêng. Danh sách biến built-in (date, username, thư mục hiện tại...):

https://www.gnu.org/savannah-checkouts/gnu/bash/manual/bash.html#Controlling-the-Prompt

Đổi màu chữ và nền!

Mở rộng ví dụ trên, thêm màu. Ví dụ này làm chữ đỏ, nền xanh dương:

export PS1="\e[44;31m\u 🚂 \e[0m "

…và đoạn này làm emoji đầu máy nhấp nháy:

export PS1="\e[44;31m\u \e[5m🚂 \e[0m "

Lưu ý:

  • \e[ : Bắt đầucheme định dạng
  • 44;31 : Mã màu nền và chữ tương ứng
  • \e[5m làm icon đầu máy nhấp nháy
  • \e[m : Dừng scheme định dạng bằng cách reset tất cả thuộc tính

Nhiều màu và tùy chọn định dạng khác. Không phải danh sách đầy đủ nhưng vài ví dụ hữu ích:

Mã Ý nghĩa Ví dụ
1 In đậm (Bold) "\e[1mIn dam"
2 Làm mờ (Dim) "\e[2mLam mo"
3 Gạch chân (Underline) "\e[4mGach chan"
4 Nhấp nháy (Blink) "\e[5mNhap nhay"
5 Đảo màu (Inverted) "\e[7mDao mau"

Màu có sẵn là giá trị số có thể ghép cặp nền/chữ. Khác nhau tùy môi trường – lệnh sau in ra các tổ hợp có sẵn trên hệ thống:

for x in {0..8}; do for i in {30..37}; do for a in {40..47}; do echo -ne "\e[$x;$i;$a""m\\\e[$x;$i;$a""m\e[0;37;40m "; done; echo; done; done; echo ""

Thêm phím tắt / hàm riêng

Nếu thường gõ lặp lại chuỗi lệnh, định nghĩa hàm shortcut trong bash profile. Thêm code sau vào ~/.bash_profile sẽ định nghĩa hàm mới liệt kê thư mục rồi thốt lên "khoan này thư mục đẹp quá":

myShortcut(){ ls -la echo "Khoan nay thu muc dep qua!" }

Để chạy, chỉ cần gõ:

myShortcut

Vào shell và nội dung hàm sẽ thực thi.

Áp dụng thay đổi

Để áp dụng thay đổi profile và thấy ngay mà không cần restart hay đóng terminal, chạy:

source ~/.bash_profile

Còn Zsh thì sao?

Chúng tôi vừa khám phá shell zsh.

Zsh cũng có file profile cùng mục đích, nằm tại:

~/.zprofile

Cũng có thể sửa như Bash profile, nhưng với hàm riêng của Zsh. Thử xem!