Monday, January 20, 2025

[Bash] Lesson 9 – Đọc dữ liệu truyền vào

-

Đọc đầu vào từ người dùng Trong chủ đề này, chúng ta sẽ tìm hiểu cách đọc đầu vào từ người dùng từ cửa sổ terminal và script Bash.

Để đọc đầu vào người dùng trong Bash, chúng ta sử dụng lệnh tích hợp sẵn của Bash được gọi là read. Nó lấy đầu vào từ người dùng và gán cho biến. Nó chỉ đọc một dòng duy nhất từ shell Bash. Dưới đây là cú pháp để thực hiện điều này.

Cú pháp

read <variable_name>  

Ví dụ 1:

#!/bin/bash  
  
# Read the user input   
  
echo "Enter the user name: "  
read first_name  
echo "The Current User Name is $first_name"  
echo  
echo "Enter other users'names: "  
read name1 name2 name3  
echo "$name1, $name2, $name3 are the other users."  

Kết quả

Nếu chúng ta không truyền bất kỳ biến nào với lệnh read, thì chúng ta có thể truyền một biến tích hợp sẵn được gọi là REPLY (phải có tiền tố dấu $) khi hiển thị đầu vào. Điều này có thể được giải thích bằng chương trình sau:

#!/bin/bash  
  
# using read command without any variable  
echo "Enter name : "  
read  
echo "Name : $REPLY"  

Kết quả

Ví dụ 2:

Trong ví dụ này, chúng ta nhập đầu vào trên cùng một PROMPT bằng cách sử dụng tùy chọn dòng lệnh -p như sau:

Cú pháp:

read -p PROMPT <variable_name>  

Ví dụ code:

#!/bin/bash  
  
read -p "username:" user_var  
echo "The username is: " $user_var  

Kết quả

Ví dụ 3:

Ví dụ này để giữ cho đầu vào ở chế độ im lặng, có nghĩa là bất kỳ đầu vào của người dùng trên dòng lệnh sẽ bị ẩn khỏi người khác.

Do đó, chúng ta truyền vào một tên người dùng và ẩn mật khẩu (chế độ im lặng) bằng cách sử dụng các tùy chọn dòng lệnh (-s, -p) như sau:

Cú pháp:

read -sp PROMPT <variable_name>  

Ở đây, tùy chọn -s cho phép người dùng giữ đầu vào ở chế độ im lặng và -p để nhập vào dấu nhắc lệnh mới.

Ví dụ code:

#!/bin/bash  
  
read -p "username : " user_var  
read -sp "password : " pass_var  
echo  
echo "username : " $user_var  
echo "password : "  $pass_var  

Kết quả:

Chú ý: Ở dòng thứ 5 của kịch bản, chúng ta đã tạo một dòng trống với lệnh echo, vì nếu không tạo dòng trống, nó sẽ đưa ra đầu ra với cả mật khẩu và tên người dùng trên cùng một PROMPT như hình ảnh dưới đây.

Vì vậy, hãy viết kịch bản của bạn bằng cách thêm một dòng lệnh echo trống.

Ví dụ 4:

Ví dụ này để nhập nhiều input bằng một mảng. Sử dụng tùy chọn dòng lệnh -a như sau:

read -a <variable_name>  

Trong đoạn văn này, “-a” được sử dụng để giúp cho script đọc một mảng, và “variable_name” tham chiếu đến một mảng.

Ví dụ code:

#!/bin/bash  
  
# Reading multiple inputs using an array  
  
echo "Enter names : "  
read -a names  
echo "The entered names are : ${names[0]}, ${names[1]}."  

Kết quả:

LEAVE A REPLY

Please enter your comment!
Please enter your name here

4,956FansLike
256FollowersFollow
223SubscribersSubscribe
spot_img

Related Stories