Blog tổng hợp và chia sẻ nội dung và học thuật về IT. Cảm ơn các bạn đã quan tâm.
Thứ Bảy, 9 tháng 2, 2013
Bài làm Shell: Tuần 3 Ext Mở rộng
1. Tạo ứng dụng cho phép người dùng chọn các món ăn bao gồm trình bày người dùng thực đơn và giá. Sau khi người dùng đã chọn xong, in ra các món ăn đã chọn và giá tổng hợp. Hướng dẫn: có thể dùng select
Ví dụ: Vui lòng chọn món ăn
1) Thit_nuong____20 2) Ga_nuong:___10 3) Cua_rang_muoi:____30
4) Ket_thuc
Bạn đã chọn
Thit_ nuong___20
Ga_nuong____10
Tong cong: 30 USD
#!/bin/bash
touch in
chmod 777 in
tien=0
PS3='Moi chon mon an: '
menu=("Ga_30" "Chim_20" "Cua_50" "tao xin roi")
select mon in "${menu[@]}"
do
case $mon in
"Ga_30")
echo "Ban chon mon Ga Nuong, gia 30k"
(( tien= $tien + 30 ))
echo $tien
echo $mon >> in
;;
"Chim_20")
echo "Ban chon mon Chim ro ti, gia 20k"
(( tien= $tien + 20 ))
echo $tien
echo $mon >> in
;;
"Cua_50")
echo "Ban chon Cua, gia 50k"
(( tien= $tien + 50 ))
echo $tien
echo $mon >> in
;;
"tao xin roi")
clear
echo So mon da chon:
cat in | sort | uniq -c
echo So tien quy khach phai tra $tien
break
;;
*) echo chon sai, vui long chon lai;;
esac
done
rm in
2. Viết chương trình in ra tổng giá trị từ a đến b. Trong đó, a và b là 2 tham số của chương trình.
tong=0
echo -n 'Tong gia tri cua '
for i in `seq $1 $2`
do
(( tong = $tong + $i ))
done
echo `seq -s ' + ' $1 $2` = $tong
3. Viết chương trình cho phép hỏi người dùng liệt kê tất cả thư mục tại đường dẫn hiện tại (bao gồm thư mục cha nếu có). Sau đó, cho phép người dùng chọn thư mục và xuất ra thông tin tổng dung lượng của các file trong thư mục đó và di chuyển (cd) đến thư mục đó rồi tiếp thực thực hiện công việc.
#!/bin/bash
read -p "Xin nhap duong dan: " thumuc
ls -l $thumuc | grep '^d' | awk '{print $9}' >out
ds=$(cat out)
x=0
while [ $x = 0 ]
do
clear
echo "Tong gia tri file trong thu muc nay la: "
ls -l | grep -v '^d' | awk '{tong += $5} END {print tong}'
echo Cac thu muc tai duong dan hien tai: $ds
read -p "Xin chon thu muc muon xu ly: " thumuccon
cd $thumuccon
ls -l | grep '^d' | awk '{print $9}' >out
b=$(cat out)
ds=$b
echo $ds
if [[ $b = '' ]]
then
echo 'Tong gia tri file trong thu muc cha la: '
ls -l | grep -v '^d' | awk '{tong += $5} END {print tong}'
echo Khong con thu muc nua! Exit!
x=1
fi
done
4. Viết ứng dụng liệt kê tất cả user hiện có của hệ thống (uid >=500). Sau đó, cho phép người dùng chọn một người trong số đó. Sau khi chọn người xong, hiện ra các biện pháp đối với user đó bao gồm: Xóa user đó, thay đổi thông tin user (comment), thay đổi shell login của người đó.
Hướng dẫn: dùng lệnh usermod, userdel và finger.
#!/bin/bash
a=1
while [ $a = 1 ]
do
clear
echo "Danh sach cac user thuong"
awk -F ':' '$3 >= 500 && $3 <60000 {print $1}' /etc/passwd
read -p "Xin nhap ten user muon xu ly: " ten
PS3='Xin chon bien phap: '
ds=("Xoa" "Thay doi thong tin" "Thay doi shell login" "Exit")
select i in "${ds[@]}"
do
case $i in
"Xoa")
echo "Ban da chon xoa user: $ten!"
`userdel $ten`
;;
"Thay doi thong tin")
echo "Ban da chon thay doi tong tin cua user: $ten"
read -p "Xin nhap thong tin muon thay doi: " cm
usermod -c "$cm" $ten
echo "Da thay doi xong!!!"
;;
"Thay doi shell login")
echo "Ban da chon thay doi shell login cua user: $ten"
echo "Thong tin login cua user: "
finger $ten
read -p "Xin nhap shell login moi: " log #xem shell login dang co: less /etc/shells
chsh -s $log $ten
echo "Da thay doi shell login: "
;;
"Exit")
break
;;
esac
done
read -p "Ban co muon xu ly user khac? (Y/N)" traloi
if [[ $traloi = 'N' ]]
then a=0
fi
done
Đăng ký:
Đăng Nhận xét (Atom)
Không có nhận xét nào:
Đăng nhận xét