Breaking News

một số bài tập lập trình shell trong Linux bạn có thể thực hành





Dưới đây là một số bài tập lập trình shell trong Linux bạn có thể thực hành:

Bài 1. Viết một script shell để tính tổng của tất cả các số từ 1 đến n, với n là tham số được truyền vào khi chạy script.

#!/bin/bash

sum=0

for (( i=1; i<=$1; i++ ))

do

sum=$((sum+i))

done

echo "Tong cac so tu 1 den $1 la: $sum"

Bài 2. Viết một script shell để tạo ra một thư mục mới với tên là ngày hiện tại, và sao chép tất cả các tệp tin có đuôi .log trong thư mục /var/log vào thư mục mới này.

#!/bin/bash

today=$(date +%Y-%m-%d)

mkdir $today

cp /var/log/*.log $today/

echo "Da sao chep tat ca cac file .log trong /var/log vao thu muc $today"

Bài 3. Viết một script shell để sao lưu toàn bộ thư mục được chỉ định vào một tệp tin nén có định dạng .tar.gz.

#!/bin/bash

folder=$1

tar -czvf backup.tar.gz $folder

echo "Da tao file backup.tar.gz cho thu muc $folder"

Bài 4. Viết một script shell để kiểm tra xem một tệp tin có tồn tại hay không, nếu có thì đổi tên tệp tin đó thành tên mới được chỉ định.

#!/bin/bash

oldname=$1

newname=$2

if [ -f $oldname ]

then

    mv $oldname $newname

    echo "Da doi ten $oldname thanh $newname"

else

    echo "Tep tin $oldname khong ton tai"

fi

Bài 5. Viết một script shell để tìm và đổi tên tất cả các tệp tin có đuôi .txt trong một thư mục được chỉ định, để thay thế phần mở rộng .txt thành .md.

#!/bin/bash

folder=$1

for file in $folder/*.txt

do

    mv "$file" "${file%.txt}.md"

done

echo "Da doi ten cac file .txt trong thu muc $folder thanh .md"

Lưu ý: Các script trên cần được lưu với định dạng .sh và được phân quyền để thực thi (chmod +x filename.sh).

 

No comments