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