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.

Không có nhận xét nào:

Đăng nhận xét