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 4 Ext - Mở rộng
Câu 1: Viết chương trình tên myscript thực hiện phép toán tùy theo số lượng tham số nhập vào người dùng.
=> Nếu có 3 tham số:
vd ./myscript 2 * 10 (cấu trúc ./myscript a operator b)
Thực hiện kết quả là 20
=> Nếu ./myscript 2 4
Thực hiện kết quả là 2 + 3 + 4 là 9
=> Nếu ./myscript 4
Thực hiện kết quả là 12 (1x2x3x4 = 24)
#!/bin/bash
if [ $# -eq 3 ] ; then
kq=0
if [[ $2 = '*' ]] ;then (( kq = $1 \* $3 ))
elif [[ $2 = '/' ]];then (( kq = $1 \/ $3 ))
elif [[ $2 = '+' ]];then (( kq = $1 + $3 ))
elif [[ $2 = '-' ]];then (( kq = $1 - $3 ))
fi
echo Ket qua la $kq
fi
if [ $# -eq 2 ] ; then
echo -n "Ket qua cua "
for i in `seq $1 $2`
do
((kq=$kq + $i))
if [[ $i -eq $2 ]] ; then break
else echo -n "$i + "
fi
done
echo $2 la: $kq
fi
if [[ $# -eq 1 ]] ; then
tich=1
echo -n "Ket qua cua "
for i in `seq 1 $1`
do
(( tich=$tich \* $i ))
done
echo `seq -s ' x ' 1 $1` = $tich
fi
Câu 2: Viết chương trình usermanager cho phép người dùng chọn các option
=> option -v : VERBOSE: in quá trình thực hiện ra màn hình
=> option -h : HELP : in cách sử dụng ra màn hình
=> option -i : INTERACTIVE: cần xác định của người dùng
=> option -d : xóa tên người dùng (usermanager -d userA)
=> option -m: thay đổi comment của người dùng trong /etc/passwd
(usermanager -m "Nguyen Van A" userA)
=> option -s : thay đổi login shell của người dùng trong /etc/passwd
(usermanager -s /bin/sh userA)
Lưu ý: các option có thể viết riêng (vd: usermanager -v -d userA hoặc usermanager -vd userA)
Câu 3: Tạo file hướng dẫn sử dụng theo định dạng man và html cho script trong câu 2.
Đăng ký:
Đăng Nhận xét (Atom)
Không có nhận xét nào:
Đăng nhận xét