Cách tùy chỉnh zsh prompt trong Terminal MacOS | Học trực tuyến CNTT, học lập trình từ cơ bản đến nâng cao

Cách tùy chỉnh zsh prompt trong Terminal MacOS

Chia sẻ kiến thức 13/06/2022

Apple đã bổ sung vỏ Z mạnh mẽ trong Terminal. Mặc dù ban đầu zsh prompt trông có vẻ nhạt nhẽo, nhưng cũng giống như Bash shell, bạn có thể cá nhân hóa và làm cho nó trở nên thú vị hơn.

Kể từ bản cập nhật lên phiên bản 10.15, Catalina, macOS bao gồm Z shell (zsh) thay vì Bash trong ứng dụng Terminal như mặc định. Bạn vẫn sẽ nhìn thấy cùng một cửa sổ màu đen với văn bản màu trắng bên trong Terminal. 

Tuy nhiên, bạn có thể tùy chỉnh zsh prompt để thu nhỏ nó và tận dụng không gian tốt nhất. Trong bài viết dưới đây, FUNiX sẽ chỉ cho bạn cách tùy chỉnh Z shell trong ứng dụng Terminal để nó trở nên nổi bật hơn trên bất kỳ nền nào bạn chọn.

1. Khái niệm cơ bản về zsh prompt

Khi bạn khởi chạy ứng dụng Terminal, nó sẽ hiển thị một số thông tin hữu ích, chẳng hạn như lần đăng nhập cuối cùng và dấu nhắc lệnh (command prompt). Prompt thường trông giống như sau theo mặc định:

Last login: Wed Feb 3 22:00:40 on console
samir@MacBook-Air ~ %

zsh prompt hiển thị một chuỗi văn bản bao gồm tên người dùng và kiểu máy tính của bạn, như MacBook Air, MacBook Pro, Mac mini, v.v. Dấu ngã (~) cho biết vị trí của prompt trong thư mục chính.

2. Tạo hồ sơ Z Shell để lưu trữ tất cả cài đặt

Thông thường, bạn phải mày mò các tệp hệ thống để thay đổi giao diện mặc định. Đó là bởi vì các bản cập nhật macOS đặt lại tất cả các tệp hệ thống về mặc định và bạn sẽ mất tất cả các thay đổi đã thực hiện. Vì vậy, bạn có thể tạo một tệp cài đặt cụ thể, được gọi là tệp dotfile, cho cấu hình zsh của bạn để lưu trữ tất cả các thay đổi và cài đặt bạn muốn trong trong zsh prompt. 

Bạn sẽ không tìm thấy tệp dotfile này theo mặc định trên macOS, vì vậy bạn sẽ phải tạo một tệp. Bạn nên tạo một hồ sơ .zshrc mới để lưu trữ tất cả các cài đặt như giao diện và hoạt động của zsh prompt. Đây là cách tạo hồ sơ zsh (dotfile):

  1. Mở ứng dụng Terminal .
  2. Nhập lệnh sau và nhấn phím Return:
    touch ~/.zshrc

Lệnh này sẽ tạo một hồ sơ .zshrc trong thư mục chính của tài khoản người dùng của bạn. Bạn có thể thấy nó trong đường dẫn /User/<username>/ trong Finder, nếu bạn đã bật xem các tệp hệ thống ẩn. Đây là hướng dẫn về cách xem các tệp ẩn trên máy Mac của bạn.

Sau đó, hồ sơ zsh sẽ có sẵn để đăng nhập và các shell tương tác mỗi khi bạn khởi chạy Terminal. Tuy nhiên, nó sẽ không hoạt động trong các phiên SSH. Tất cả những thay đổi bạn muốn thực hiện đối với zsh prompt có thể được bao gồm trong hồ sơ này.

>>> Xem thêm: Cách cài đặt macOS trong máy ảo trên Ubuntu Linux

3. Tùy chỉnh zsh prompt trong Terminal

Thông thường, zsh prompt mặc định mang thông tin như tên người dùng, tên máy và vị trí bắt đầu trong thư mục chính của người dùng. Các chi tiết này được lưu trữ trong tệp hệ thống của zsh shell tại vị trí /etc/zshrc.

PS1="%n@%m %1~ %#"

Trong chuỗi này:

  • %n là tên người dùng của tài khoản của bạn.
  • %m là tên kiểu máy của MacBook.
  • %1 ~ có nghĩa là đường dẫn thư mục đang làm việc hiện tại, nơi ~ dải vị trí thư mục $ HOME .
  • %# có nghĩa là prompt sẽ hiển thị # nếu shell đang chạy với quyền root (quản trị viên) hoặc cung cấp % nếu không.

Để thực hiện bất kỳ thay đổi nào đối với zsh prompt mặc định, bạn sẽ phải thêm các giá trị liên quan để prompt xuất hiện khác với mặc định.

Đây là cách thực hiện điều đó. Mở Terminal, nhập lệnh sau và nhấn Return:

nano ~/.zshrc

Nó sẽ trống nếu bạn truy cập lần đầu tiên. Bạn có thể thêm một dòng mới với các chữ PROMPT=’…’ và bao gồm các giá trị có liên quan trong dấu ba chấm.

Để có một sửa đổi đơn giản đối với zsh prompt, bạn có thể nhập các giá trị này vào cấu hình .zshrc:

PROMPT='%n~$'

Nhấn Ctrl + O để xác nhận việc thực hiện những thay đổi đó đối với tệp, sau đó nhấn Ctrl + X để thoát khỏi trình chỉnh sửa nano.

Mở cửa sổ Terminal mới để xác nhận và xem các thay đổi bạn vừa thực hiện. zsh prompt mới của bạn sẽ hiển thị tên người dùng mac, thư mục chính và biểu tượng $ ở cuối.

4. Thêm ngày và giờ vào zsh prompt

Ngoài tên người dùng của mình, bạn có thể thêm ngày hoặc giờ hiện tại để không phải nhìn ra khỏi cửa sổ Terminal đang hoạt động để kiểm tra thông tin đó.

Khởi chạy Terminal và mở hồ sơ .zshrc:

nano ~/.zshrc

Để đưa ngày vào prompt, bạn có thể sử dụng % D để ngày xuất hiện ở định dạng năm-tháng-ngày hoặc % W để ngày xuất hiện ở định dạng tháng/ngày/năm. Sau đó, prompt mới sẽ xuất hiện như

PROMPT='%n:%W:~$'

Nếu bạn muốn bao gồm thời gian hệ thống trong zsh prompt, hãy thêm % T cho thời gian hiện tại ở định dạng 24 giờ, % t cho thời gian xuất hiện ở định dạng AM/PM (sáng/chiều) hoặc 12 giờ hoặc sử dụng % * để hiển thị thời gian ở định dạng 24 giờ cùng với giây.

PROMPT='%n:%T:~$'

>>> Xem thêm: Hướng dẫn cách cài đặt macOS từ USB

5. Thêm màu vào chữ trong zsh prompt

Bạn cảm thấy nhàm chán với dòng chữ màu trắng của zsh prompt? Bạn có thể thêm một số màu vào chữ trên hồ sơ zsh của mình trên Mac để bạn có được hình ảnh đẹp mắt. Khởi chạy Terminal và mở hồ sơ .zshrc:

nano ~/.zshrc

Zsh hỗ trợ màu sắc và sắc thái của màu xám cho chữ trong prompt. Bạn có thể chọn màu chữ giữa đen, trắng, vàng, lục, đỏ, lam, lục lam và đỏ tươi. Đây là cách sử dụng chúng:

PROMPT='%F{cyan}%n%f:~$'

Nếu bạn muốn chọn một màu zsh cụ thể, bạn có thể chọn trong số 256 màu 8-bit mà Terminal hỗ trợ. Đây là cách sử dụng các giá trị số của các màu:

PROMPT='%F{51}%n%f:~$'

Bạn cần đặt các biến màu chữ mặc định %F và %f giữa chữ mà bạn muốn tô màu. Nếu điều đó nghe có vẻ quá phức tạp, hãy sử dụng một trang web như Zsh Prompt Generator để giúp bạn tùy chỉnh màu sắc.

6. Thêm hiệu ứng trong zsh prompt

Nếu tô màu chữ của prompt là không đủ, bạn có thể thêm hiệu ứng để nó nổi bật giữa bức tường chữ. Để bắt đầu, bạn có thể in đậm zsh prompt:

PROMPT='%B%F{51}%n%f%b:~$'

Thêm % B ở đầu và đặt % b ở cuối chữ sẽ làm cho nó được in đậm.

Tương tự, bạn có thể đặt %S ở đầu và % s ở cuối để tô sáng (highlight) văn bản. Phần đánh dấu sẽ mang cùng màu bạn đã chọn để xuất hiện giữa các biến %S và %s.

PROMPT='%S%F{51}%n%f%s:~$'

Bạn cũng có thể gạch dưới văn bản của zsh prompt. Để thêm dấu gạch dưới vào prompt, bạn có thể bao gồm biến %U ở đầu và %u ở cuối chữ.

PROMPT='%U%F{51}%n%f%u:~$'

>>> Xem thêm: Cách cài đặt Phông chữ của bên thứ ba trong macOS

7. Xóa chi tiết đăng nhập lần cuối khỏi zsh prompt

Nếu bạn muốn ẩn hoặc tắt dòng trên cùng tiết lộ thời gian đăng nhập cuối cùng trong ứng dụng Terminal, bạn có thể sử dụng lệnh sau:

touch ~/.hushlogin

Lần tiếp theo khi bạn mở Terminal, bạn sẽ không thấy bất kỳ thứ gì phía trên zsh prompt.

8. Kết luận

Ngay cả khi bạn chỉ thỉnh thoảng sử dụng ứng dụng Terminal trên macOS, bạn có thể điều chỉnh cách zsh prompt xuất hiện ở đó. Bạn có thể in đậm, gạch chân, rút ​​ngắn và thậm chí bao gồm cả ngày và giờ trong đó.

>>>  Tìm hiểu ngay các khóa học lập trình của FUNiX tại:

>>> Xem thêm chuỗi bài viết liên quan:

FUNiX – Học lấy bằng đại học trực tuyến giá trị ngang bằng đại học chính quy

Cách tạo máy ảo macOS bằng Docker-OSX

Cách tùy chỉnh zsh prompt trong Terminal MacOS

Cách kết nối với mạng Wifi ẩn trong macOS

Cách cài đặt lại macOS mà không làm mất dữ liệu

 

Vân Nguyễn

Dịch từ: https://www.makeuseof.com/customize-zsh-prompt-macos-terminal/

ĐĂNG KÝ TƯ VẤN HỌC LẬP TRÌNH TẠI FUNiX

Bình luận (
0
)

Bài liên quan

  • Tầng 0, tòa nhà FPT, 17 Duy Tân, Q. Cầu Giấy, Hà Nội
  • info@funix.edu.vn
  • 0782313602 (Zalo, Viber)        
Chat Button
Chat với FUNiX GPT ×

yêu cầu gọi lại

error: Content is protected !!