Lệnh read trong Linux

Giới thiệu

Trong lab này, bạn sẽ học cách sử dụng lệnh read trong Linux để thu thập dữ liệu nhập từ người dùng và lưu trữ nó trong một biến. Bạn cũng sẽ học cách xác thực dữ liệu nhập từ người dùng bằng lệnh read. Lab này bao gồm mục đích và cú pháp của lệnh read, cách đọc dữ liệu nhập từ người dùng và lưu trữ nó trong một biến, và cách xác thực dữ liệu nhập từ người dùng.

Lệnh read là một lệnh tích hợp sẵn trong Linux và thường được sử dụng cho việc viết script shell tương tác. Nó cho phép bạn thu thập dữ liệu nhập từ người dùng và lưu trữ nó trong một biến, biến này sau đó có thể được sử dụng trong các script hoặc chương trình của bạn.

Tìm hiểu Mục đích và Cú pháp của Lệnh read

Trong bước này, bạn sẽ tìm hiểu về mục đích và cú pháp của lệnh read trong Linux. Lệnh read được sử dụng để thu thập dữ liệu nhập từ người dùng và lưu trữ nó trong một biến.

Cú pháp cơ bản của lệnh read là:

read [options] [variable_name]

Ở đây, [options] là các flag tùy chọn bạn có thể sử dụng với lệnh read, và [variable_name] là tên của biến nơi dữ liệu nhập từ người dùng sẽ được lưu trữ.

Một số tùy chọn phổ biến cho lệnh read bao gồm:

  • -p: Hiển thị một dấu nhắc trước khi chờ dữ liệu nhập từ người dùng.
  • -s: Ngăn chặn việc hiển thị dữ liệu nhập của người dùng.
  • -n: Chỉ đọc số lượng ký tự được chỉ định.
  • -t: Chỉ định thời gian chờ tính bằng giây cho thao tác đọc.

Ví dụ:

read -p "Enter your name: " name
echo "Hello, $name!"

Ví dụ đầu ra:

Enter your name: John
Hello, John!

Trong ví dụ này, lệnh read nhắc người dùng nhập tên của họ và dữ liệu nhập được lưu trữ trong biến name. Lệnh echo sau đó sử dụng giá trị của biến name để hiển thị lời chào.

Đọc Dữ liệu Nhập từ Người dùng và Lưu trữ nó trong một Biến

Trong bước này, bạn sẽ học cách sử dụng lệnh read để thu thập dữ liệu nhập từ người dùng và lưu trữ nó trong một biến.

Để đọc dữ liệu nhập từ người dùng và lưu trữ nó trong một biến, bạn có thể sử dụng cú pháp sau:

read variable_name

Ở đây, variable_name là tên của biến nơi dữ liệu nhập từ người dùng sẽ được lưu trữ.

Ví dụ:

echo "What is your favorite color?"
read favorite_color
echo "Your favorite color is $favorite_color."

Ví dụ đầu ra:

What is your favorite color?
blue
Your favorite color is blue.

Trong ví dụ này, người dùng được nhắc nhập màu yêu thích của họ và dữ liệu nhập được lưu trữ trong biến favorite_color. Lệnh echo sau đó sử dụng giá trị của biến favorite_color để hiển thị một thông báo.

Bạn cũng có thể sử dụng tùy chọn -p với lệnh read để hiển thị một dấu nhắc cho người dùng:

read -p "Enter your age: " age
echo "You are $age years old."

Ví dụ đầu ra:

Enter your age: 30
You are 30 years old.

Trong ví dụ này, tùy chọn -p được sử dụng để hiển thị dấu nhắc "Enter your age: " trước khi chờ dữ liệu nhập từ người dùng và dữ liệu nhập được lưu trữ trong biến age.

Xác thực Dữ liệu Nhập từ Người dùng với Lệnh read

Trong bước này, bạn sẽ học cách sử dụng lệnh read để xác thực dữ liệu nhập từ người dùng.

Một cách phổ biến để xác thực dữ liệu nhập từ người dùng là sử dụng vòng lặp while với lệnh read. Điều này cho phép bạn tiếp tục nhắc người dùng nhập dữ liệu cho đến khi họ cung cấp một phản hồi hợp lệ.

Ví dụ:

while true; do
    read -p "Enter a number between 1 and 10: " num
    if [[ "$num" -ge 1 && "$num" -le 10 ]]; then
        echo "You entered: $num"
        break
    else
        echo "Invalid input. Please try again."
    fi
done

Ví dụ đầu ra:

Enter a number between 1 and 10: 15
Invalid input. Please try again.
Enter a number between 1 and 10: 7
You entered: 7

Trong ví dụ này, lệnh read được sử dụng bên trong một vòng lặp while để liên tục nhắc người dùng nhập dữ liệu cho đến khi họ nhập một số trong khoảng từ 1 đến 10. Câu lệnh if kiểm tra dữ liệu nhập của người dùng và nếu nó hợp lệ, vòng lặp sẽ thoát bằng lệnh break. Nếu dữ liệu nhập không hợp lệ, một thông báo lỗi sẽ được hiển thị và vòng lặp tiếp tục.

Bạn cũng có thể sử dụng lệnh read với tùy chọn -n để giới hạn số lượng ký tự người dùng có thể nhập, hoặc tùy chọn -t để đặt thời gian chờ cho dữ liệu nhập.

Ví dụ:

read -n 1 -p "Enter 'y' or 'n': " answer
echo "You entered: $answer"

Ví dụ đầu ra:

Enter 'y' or 'n': y
You entered: y

Trong ví dụ này, tùy chọn -n 1 giới hạn dữ liệu nhập của người dùng thành một ký tự duy nhất và tùy chọn -p hiển thị một dấu nhắc.

Tóm tắt

Trong lab này, bạn đã tìm hiểu về mục đích và cú pháp của lệnh read trong Linux, được sử dụng để thu thập dữ liệu nhập từ người dùng và lưu trữ nó trong một biến. Bạn cũng đã học cách đọc dữ liệu nhập từ người dùng và lưu trữ nó trong một biến, cũng như cách sử dụng tùy chọn -p để hiển thị một dấu nhắc cho người dùng. Cuối cùng, bạn đã học cách xác thực dữ liệu nhập từ người dùng bằng lệnh read.

Lệnh read có một số flag tùy chọn, chẳng hạn như -p để hiển thị dấu nhắc, -s để ngăn chặn việc hiển thị dữ liệu nhập của người dùng, -n để chỉ đọc một số lượng ký tự được chỉ định và -t để chỉ định thời gian chờ cho thao tác đọc. Bạn có thể sử dụng các flag này để tùy chỉnh hành vi của lệnh read cho phù hợp với nhu cầu của bạn.

400+ câu lệnh phổ biến trong Linux