1
4
7.2.5. Lệnh read độc dữ liệu 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
và
$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. Lệnh 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>`