共计 943 个字符,预计需要花费 3 分钟才能阅读完成。
提醒:本文最后更新于 2025-03-26 21:55,文中所关联的信息可能已发生改变,请知悉!
将 /var/log 目录下所有的日志文件全自动打包进行备份
#!/bin/bash
now_date=$(date +"%Y%m%d")
# echo $now_date
output_dir="/opt/backup/"$now_date
# echo $output_dir
if [! -d $output_dir]; then
sudo mkdir -p $output_dir
echo "sudo mkdir ${output_dir} done"
fi
log_dir="/var/log"
# file_list()
i=0
function read_dir(){
for file in `ls $1`
do
if [-d $1"/"$file]; then
read_dir $1"/"$file
elif ["${file##*.}" = "log" ]; then
# echo $1"/"$file
file_list[i]=$1"/"$file
i=$i+1
fi
done
}
read_dir $log_dir
# echo ${file_list[@]}
tar -cvf $output_dir"/log.tar" ${file_list[@]}
利用 shell 脚本编写 1 +2+…+100
实验要求:分别利用 for、while 和 until
sh 脚本
#!/bin/bash
echo " 请选择:"
echo "1.for"
echo "2.while"
echo "3.until"
read -p " 请输入一个序号:" id
echo "==================="
echo " 下面进行循环累加 "
read -p " 请输入循环次数:" n
echo "==================="
case $id in
1)
echo " 您选择了 for 循环 "
sum=0
for ((i=1;i<=n;i++))
do
sum=$(($sum+$i))
done
echo " 结果为 $sum"
;;
2)
echo " 您选择了 while 循环 "
sum=0
i=1
while [$i -le $n]
do
sum=$(($sum+$i))
let i++
done
echo " 结果为 $sum"
;;
3)
echo " 您选择了 until 循环 "
sum=0
i=1
until [$i -gt $n]
do
sum=$(($sum+$i))
let i++
done
echo " 结果为 $sum"
;;
esac
实验效果
正文完