Bài Tập Shell Linux Có Lời Giải

     

1. Soát sổ số nguyên tố:

$1 ở đó là lấy pramater thứ nhất khi bọn họ truyền vào hàm isprime().

Bạn đang xem: Bài tập shell linux có lời giải

is_prime $n.

Với giải pháp gọi hàm bên trên thì bạn có thể hiểu răng $1 = $n

#!/bin/bashis_prime() n=$1 if < $n -lt 1 >;thenreturn 0 fi for ((i=2;in;i++));do let "k=$n%$i"if < $k -eq 0 >;thenreturn 0fi done return 1echo -n "Nhap n: "read nis_prime $nif < $? -eq 0 >;thenecho "$n khong la so nguyen to"elseecho "$n la so nguyen to"fiexit 0

2. Liệt kê số nguyên tố nhỏ hơn n

Bài này mình làm chưa ra. Post cho ae chỉnh sửa giùm

#!/bin/bashis_prime() n=$1 if < $n -lt 2 >;thenreturn 0 fi for ((i=2;in;i++));dolet "k=$n%$i" if < $k -eq 0 >;thenreturn 0 fi done return 1lietke() n=$1 if < $n -lt 2 >; thenecho "khong teo so nt nao" fi for ((j=2;jn;j++));dois_prime $jif < $? -eq 1 >;thenecho "$j"fi doneecho -n "Nhap n: "read nlietke $nexit 0Note:

$?

Dấu này là lấy cực hiếm trả về của hàm bắt đầu gọi ở trước. Trong bài xích trên thì $? là cực hiếm trả về của hàm is_prime() vào câu lệnh sau.

is_prime $j

3. Đọc ghi file

#!/bin/bashecho -n "Nhap ten file"read namewhile read LINEdoecho $LINE | cut -d"|" -f3 done $nameNote:

echo $LINE | cut -d"|" -f3

Lệnh cut là nhằm cắt tài liệu ghi đọc. -d"|" đọc dữ liệu được phân làn bởi kí trường đoản cú "|". Còn -f3 là đem từ bộ phận thứ mấy.Ví dụ:

"a|b|c|d|e" cut -d"|" -f3

Kết quả trả về là c.

Xem thêm: Hướng Dẫn Làm Đèn Sưởi Cho Mẹ Sau Sinh, Có Nên Sử Dụng Đèn Hồng Ngoại Sưởi Ấm Sau Sinh

Bạn nào mong mỏi trả về là in hoa thi thêm tr a-z A-Z ở chiếc echo $LINE

echo $LINE | tr a-z A-Z

Bài 4. Mảng

#!/bin/bashdeclare -a aecho -n "Nhap n: "read nfor ((i=1;in;i++));doecho -n "a<$i>= "read ma<$i>=$mdoneecho -n "Mang chua sap xep: "echo $a<*>for ((i=1;in-1;i++));do for ((j=i+1;jn;j++));doif < $a<$i> -gt $a<$j> >;thentam=$a<$i>a<$i>=$a<$j>a<$j>=$tamfi donedoneecho $a<*>Bài này không nhất thiết phải nói gì nhé

5. Phương trình bậc nhất

#!/bin/bashecho "Nhap a: "read aecho "Nhap b:"read bif < $a -ne 0 >; thenx=$(echo "scale=2;( -$b / $a)"|bc)echo -n "Nghiem la: $x"elif < $b -ne 0 >; thenecho -n "Phuong trinh vo nghiem"else echo -n "phuong trin vo so nghiem"fi

6. Phương trình bậc 2.

#!/bin/bashecho "a : "read aecho -n "b : "read becho -n "c: "read cdelta=$(($b * $b - 4*$a * $c))if < $delta -lt 0 >; thenecho "Phuong trinh vo nghiem"elif < $delta -eq 0 >; thenecho "Nghiem kep: "x=$(echo "scale=2; (-$b /( 2 * $a))"|bc)echo "$x"elseecho "Phuong trinh co 2 nghiem "x1=$(echo "scale=2; -($b +sqrt($delta))/(2*$a)" | bc)echo "$x1"x2=$(echo "scale=2; -($b - sqrt($delta))/(2*$a)" | bc)echo "$x2"fi

Toàn bộ bài tập bản thân code được trên lớp.Hy vọng nó giúp ích cho các bạn.

Xem thêm: Cách Vào Facebook Trên Firefox Do Bị Chặn, Cách Vào Facebook Trên Firefox

Cảm ơn sẽ đọc bài của mình.