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