GIÁO TRÌNH HỆ ĐIỀU HÀNH UNIX - LINUX - Trang 145

1
4

7.2.5. Lnh read độc d liu cho biến người dùng

Lệnh read có dạng

read <tên biến>

Ví dụ chương trình shell có tên thu1.arg có nội dung như sau:

#!/bin/sh

# Chuong trinh hoi ten nguoi va hien lai

echo "Ten anh la gi?"

read name

echo "Xin chao, $name , anh go $# doi so"

echo "$*"

Sau đó, ta thực hiện

$chmod u+x thu1.arg

$thu1.arg Hoi ten nguoi va hien lai

sẽ thấy xuất hiện

Ten anh la gi? Tran Van An

Xin chao, Tran Van An, anh go 6 doi so

Hoi ten nguoi va hien lai

7.2.6. Lnh set

Để gán kết quả đư ra từ lệnh shell ra các biến tự động, ta dùng lệnh set
Dạng lệnh set

set

`<lệnh>`

Sau lệnh này, kết quả thực hiện lệnh không hiệ ra lê màn hình mà gán kết quả đó tương

ứng cho các biến tự động. MộRt cách tự động các từ trong kết quả thực hiện lệnh sẽ gán
tương ứng cho các biến tự động (từ $1 trở đi).

Xem xét một ví dụ sau đây (chương trình thu2.arg) có nội dung:

#!/bin/sh

# Hien thoi diem chay chuong trinh nay

set `date`

echo "Thoi gian: $4 $5"

echo "Thu: $1"

echo "Ngay $3 thang $2 nam $6"

Sau khi đổi mode của File chương trình này và chạy, chúng ta nhận được:

Thoi gian: 7:20:15 EST

Thu: Tue

Ngay 20 thang Oct nam 1998

Như vậy,

$# = 6

$* = Tue Oct 20 7:20:15 EST 1998

$1 = Tue

$2=Oct

$3 = 20

$4 = 7:20:15

$5 = EST

$6 = 1998

7.2.7. Tính toán trên các biến

Các tính toán trong shell được thực hiện với các đối số nguyên. Các phép toán gồm có:

cộng (+), trừ (-), nhân (*), chia (/), mod (%).

Biểu thức thực hiện theo các phép toán đã nêu.

Tính toán trên shell có dạng:

`expr <biểu thức>`