首页
关于
推荐
CSDN
Search
1
文件上传下载-io-流的理解-笔记
156 阅读
2
vue循环指令el-table-column展示图片src路径拼接
149 阅读
3
正则表达式,将字符串分割两部分
141 阅读
4
MySQL数据库练习【一】
132 阅读
5
MySQL数据库练习【三】
121 阅读
默认分类
Mysql
Java基础
一天一练
Mongodb
Nginx
Docker
FastDFS
面试题
云计算基础
linux基础
shell脚本
实验
工具
基础命令
redis
zookeeper
部署
案例
登录
Search
标签搜索
vue
Mysql
IO
面试题
良辰美景好时光
累计撰写
72
篇文章
累计收到
0
条评论
首页
栏目
默认分类
Mysql
Java基础
一天一练
Mongodb
Nginx
Docker
FastDFS
面试题
云计算基础
linux基础
shell脚本
实验
工具
基础命令
redis
zookeeper
部署
案例
页面
关于
推荐
CSDN
搜索到
8
篇与
的结果
2025-04-27
PS3是一个特殊的环境变量
PS3是一个特殊的环境变量在/bin/bash(Bash shell)中,PS3是一个特殊的环境变量,它主要用于定义select命令的提示符 。select命令是 Bash shell 中用于创建简单菜单的工具,用户可以从给定的选项中进行选择。PS3变量的值就是在select命令执行时显示给用户的提示信息,默认值是#? 。以下是一个简单的示例代码,展示了如何使用PS3和select命令:#!/bin/bash # 设置PS3环境变量,定义select命令的提示符 PS3="请选择一个选项: " # 定义选项数组 options=("选项1" "选项2" "选项3" "退出") # 使用select命令创建菜单 select opt in "${options[@]}"; do case $opt in "选项1") echo "你选择了选项1" ;; "选项2") echo "你选择了选项2" ;; "选项3") echo "你选择了选项3" ;; "退出") echo "退出程序" break ;; *) echo "无效的选项,请重试。" ;; esac done 在上述代码中:1) 首先设置了PS3变量为"请选择一个选项: ",这会改变select命令的默认提示符。2) 定义了一个包含菜单项的数组options。3) 使用select循环显示菜单项,并根据用户的选择执行相应的操作。当用户选择"退出"时,使用break语句退出循环,结束脚本的执行。endl
2025年04月27日
21 阅读
0 评论
0 点赞
2025-04-27
shell脚本一天一练----备份文件
shell脚本一天一练----备份文件#!/bin/bash # #********************************************************** #Author: dange #QQ 123456 #Date: 2025-04-27 #FileName: 02.sh #Version: V1.0 #URL: www.baidu.com #Description: test #Copyright (C): 2025 All rights reserved #********************************************************* export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin # 写一个脚本,遍历/data/目录下的txt文件 # 将这些txt文件做一个备份 # 备份的文件名增加一个年月日的后缀,比如将a.txt备份为a.txt_20250427 # # 定义后缀变量 suffix=$(date +%Y%m%d) # 找到/data/目录下的txt文件,用for循环遍历 for f in $(find /data/ -type f -name "*.txt") do echo "备份文件$f" cp ${f} ${f}_${suffix} done # 关键知识点总结 # 1.date命令用法,可以根据日期、时间获取 # 2.for循环如何遍历文件 endl
2025年04月27日
16 阅读
0 评论
0 点赞
2025-04-27
shell脚本一天一练----日志滚动归档
shell脚本一天一练----日志滚动归档#!/bin/bash # #********************************************************** #Author: dange #QQ 123456 #Date: 2025-04-27 #FileName: about.sh #Version: V1.0 #URL: www.baidu.com #Description: test #Copyright (C): 2025 All rights reserved #********************************************************* export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin # shell脚本一天一练 # 今日脚本需求: # 写一个日志归档脚本,类似于系统的logrotate程序做日志归档。 # 加入服务的输出日志是1.log,要求每天归档一个,1.log第二天就变成1.log.1, # 第三天1.log.2,第四天1.log.3 ...... 一直到1.log.5 # # 思路: # 我们要考虑到该脚本可能是初次执行,也可能是已经执行了好久 # 如果是初次执行,那么日志记录里只有1.log,而没有1.log.1,1.log.2,...1.log.5 # 又或者说这些文件有部分或者全部 # 这些情况我们都要考虑到 # 就说最常规的一个情况:这些文件都存在 # 那么,我们就需要先删除掉最后面的那个1.log.5, # 然后1.log.4改名字为1.log.5 # 再然后1.log.3改名字为1.log.4,以此类推 # # 假设日志路径为/data cd /data # 首先删除掉最老的日志1.log.5,如果存在的话 if [ -f 1.log.5 ] then rm -f 1.log.5 fi # 使用for+seq 做从5到2倒序遍历循环 # 这里的用法等同于 for i in 5 4 3 2 1 for i in $(seq 5 -1 2) do # 如果日志存在,则后缀加1 if [ -f 1.log.$[$i-1] ] then mv 1.log.$[$i-1] 1.log.$i fi done # 改名字 mv 1.log 1.log.1 # 新建一下1.log touch 1.log # 关键知识点总结: # 1) for+seq用法 # 2) 倒序是本脚本关键,因为要行最后面的文件开始处理,就好比一个萝卜一个坑,只在最前面的腾出地方,后面的才能到之前的坑里 endl
2025年04月27日
20 阅读
0 评论
0 点赞
1
2