(+84) 236.3827111 ex. 402

Thay đổi nội dung dấu nhắc Shell.


  • Trong Linux có hai loại dấu nhắc: Dấu nhắc cấp một (dấu nhắc Shell) xuất hiện khi nhập lệnh và dấu nhắc cấp hai (dấu nhắc nhập liệu) xuất hiện khi lệnh cần có dữ liệu được nhập từ bàn phím và tương ứng với hai biến nhắc tên là PS1 PS2.
  • PS1 là biến hệ thống tương ứng với dấu nhắc cấp 1: Giá trị của PS1 chính là nội dung hiển thị của dấu nhắc Shell. Để nhận biết thông tin hệ thống hiện tại, một nhu cầu đặt ra là cần thay đổi giá trị của các biến hệ thống PS1 PS2.
  • Linux cho phép thay đổi giá trị của biến hệ thống PS1 bằng lệnh gán trị mới cho nó. Lệnh này có dạng:

# PS1=''

  • Năm (5) kí tự đầu tiên của lệnh gán trên đây (PS1=') phải được viết liên tiếp nhau. Dãy kí tự nằm giữa cặp hai dấu nháy đơn (có thể sử dụng cặp hai dấu kép ") và không được phép chứa dấu nháy. Dãy kí tự này bao gồm các cặp kí tự điều khiển và các kí tự khác, cho phép có thể có dấu cách. Cặp kí tự điều khiển gồm hai kí tự, kí tự đầu tiên là dấu sổ xuôi "\" còn kí tự thứ hai nhận một trong các trường hợp liệt kê trong bảng dưới dây. Bảng dưới đây giới thiệu một số cặp ký tự điều khiển có thể được sử dụng khi muốn thay đổi dấu nhắc lệnh:
  • \! à Hiển thị thứ tự của lệnh trong lịch sử
  • \# à Hiển thị thứ tự của lệnh
  • \$ à Hiển thị dấu đô-la ($). Đối với siệu người dùng (super user), thì hiển thị dấu số hiệu (#)
  • \\ à Hiển thị dấu sổ (\)
  • \d à Hiển thị ngày hiện tại
  • \h à Hiển thị tên máy (hostname)
  • \n à Ký hiệu xuống dòng
  • \s à Hiển thị tên hệ Shell
  • \t à Hiển thị giờ hiện tại
  • \u à Hiển thị tên người dùng
  • \W à Hiển thị tên thực sự của thư mục hiện thời (ví dụ thư mục hiện thời là /mnt/hda1 thì tên thực sự của nó là /hda1)
  • \w à Hiển thị tên đầy đủ của thư mục hiện thời (ví dụ /mnt/hda1)

Ví dụ: Hiện thời dấu nhắc Shell có dạng:

[root@DTU ~]#

Sau khi gõ lệnh

[root@DTU ~]#PS1='[\h@\u \w: \d]\$'

thì dấu nhắc Shell được thay đổi là:

[DTU@root ~: Mon Sep 05]#

Ngoài việc đổi thứ tự giữa tên ngời dùng và máy còn cho chúng ta biết thêm về ngày hệ thống quản lý và tên đầy đủ của thư mục hiện thời.

Linux cung cấp cách thức hoàn toàn tương tự như đối với biến PS1 để thay đổi giá trị biến hệ thống PS2 tương ứng với dấu nhắc cấp hai.