shell编程练习
一、参考网址
2. Advanced Shell Scripting Techniques: Automating Complex Tasks with Bash
二、实战练习
1、把本目录下的所有.c文件拷贝到另一目录,并且重命名为.cxx文件
#!/bin/bash set -x #打印每一步骤的执行结果 newdir=../xxx rm -rf ${newdir} mkdir ${newdir} for file in `ls | grep '.c'` do newfile=`echo $file | sed 's/\.c/\.cxx/g'` #小数点之前需要加转义符,因为小数点在正则表达式中有特殊含义,表示“一定有一个任意字符” cp $file $newdir/$newfile done
2、获取当前时间字符串
命令格式:LC_TIME=en date +"%Y-%m-%d %H:%M:%S %Z"
其LC_TIME表示“选择C语言环境的时间格式类别”
结果如下:
3. 记录设备重启次数
#!/bin/sh this_dir=`pwd` BFILE=$this_dir/bootcount echo "BFILE is $BFILE" if [ -e $BFILE ]; then VALUE=`cat $BFILE` else VALUE=0 fi VALUE=$((VALUE+1)) echo $VALUE > $BFILE sync echo "VALURE is $VALUE" ETH_STATUS=`cat /sys/class/net/enp0s3/carrier` #判断网线是否连着 echo "ETH_STATUS is $ETH_STATUS" #if [ $ETH_STATUS -eq 0 ]; then #在sh和bash中都支持
#if ((ETH_STATUS == 0)); then #在sh中不支持,提示“ETH_STATUS: not found”; 在bash中支持 if [ "X$ETH_STATUS" = "X0" ]; then #在/bin/sh用==会提示错误,在/bin/bash可以用== sleep 2 echo "00000" #reboot else echo "11111" fi
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 25岁的心里话
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现