实际的应用处理场景,从应用的角度举例子。
变量赋值不要有空格
变量赋值不要有空格
变量赋值不要有空格
eg1:读取单个文件
#!/bin/bash
# 文件路径
file_path=""
#文件存在校验
if [ -f ${file_path} ] then
echo "文件检测成功!"
else
echo "文件不存在,请检查..."
exit -1; #退出
fi
#循环读取文件内容
while read line
do
echo ${line}
done < filename(${file_path})
eg2:读取目录下的所有文件
#!/bin/bash
# 1.指定目录
# 2.获取目录下的所有文件名称
# 3.循环读取每个文件的内容
dir=""
files=$(ls ${dir})
for file in ${files}; do
path="${dir}/${file}"
echo "文件名:${path}"
while read line
do
echo ${line}
done < ${path}
done
eg3:查找文件内容是否包含字符串
#!/bin/bash
dir=""
file_name=`grep -rl 'good' ${dir}`
echo ${file_name}
eg4:修改文件内容
#!/bin/bash
#有没有什么比较好的使用场景啊啊啊啊啊
eg5:定时备份文件
备份文件脚本
#!/bin/bash
source_dir=
target_dir=
backup_file="${target_dir}/$(date +%Y%m%d%H%M%S).tar.gz"
# 如果目录不存在,创建新的目录
mkdir -p "${target_dir}"
# 备份文件
tar -czvf "${backup_file}" "${source_dir}"
#检查文件是否存在
if [ $? -eq 0 ]; then
echo "文件备份成功: ${backup_file}"
else
echo "文件备份失败"
fi
创建定时任务
#添加可执行权限
chmod +x backup.sh
#打开定时器
crontab -e
#创建定时任务
0 3 * * * 脚本目录
eg6:解析配置文件
#!/bin/bash
param=`awk '分隔符' '/\['"$1"']\/[a=1]a==1&&$1~/'"$2"'/{gsub(/[[:blank:]]*/,"",$2):printf("$2\t",$2);exit}` 文件路径
echo ${param}
配置文件格式
[path1]
key1分隔符value1
[path2]
key2分隔符value2