linux系列之-—01 shell编程笔记
一、特殊变量($0、$1、$2、 $?、 $# 、$@、 $*)
shell编程中有一些特殊的变量可以使用。这些变量在脚本中可以作为全局变量来使用。
名称 | 说明 |
$0 | 脚本名称 |
$1-9 | 脚本执行时的参数1到参数9 |
$? | 脚本的返回值 |
$# | 脚本执行时,输入的参数的个数 |
$@ | 输入的参数的具体内容(将输入的参数作为一个多个对象,即是所有参数的一个列表) |
$* | 输入的参数的具体内容(将输入的参数作为一个单词) |
$@与$*的区别:
$@与$*都可以使用一个变量来来表示所有的参数内容,但这两个变量之间有一些不同之处。
$@:将输入的参数作为一个列表对象
$*:将输入的参数作为一个单词
二、shell中“>”和“>>”的区别
>:创建
>>: 追加
三、shell 中的括号
State=`grep "Current state of '$ServerName'" tmp$$ | cut -d ":" -f 3 | sed 's/ //g'`
grep
cut ------------先按:分段,-f就是分段后取第几个字段。
sed --------s表示替换,s/ //g 表示空格替换为空,最后的g标志表示全部替换
echo '保留3天备份'
cd $jenkins/backup/
ls -lrt --time-style="+%Y-%m-%d %H:%M %z" $servername_*.tar.gz | awk '{print $6,$7,$9;}' | while read filename
do
mk_date=`echo $filename | awk '{print $1}'`
mk_filename=`echo $filename | awk '{print $3}'`
t1=`date -d "3 day ago" +%s`
t2=`date -d "$mk_date" +%s`
echo $t1
echo $t2
echo '==============:'[ $t1 -gt $t2 ]
if [ $t1 -gt $t2 ]
then
rm $mk_filename
echo 'REMOVE FILE '$jenkins/backup/$mk_filename
else
echo ''
fi
done
根据jar文件名生成本次升级涉及工程列表
ls -l *.jar|awk '{print $9}'|awk -F '.' '{print $1}'
- Linux集群系列01-LVS_NAT模型配置
- 36_01_Linux集群系列之一——集群基础概念
- 【Linux系列教程】01.在虚拟机中安装Centos7.0
- 36_01_Linux集群系列之一——集群基础概念
- 20171107L09-01老男孩Linux运维实战培训-Lamp系列-Apache服务生产实战应用指南04-基于IP的虚拟主机实战配置
- “手把手教你学linux驱动开发”OK6410系列之01---模块编程
- 20170822L08-04老男孩linux实战运维培训-Lamp系列之-Apache服务生产实战应用指南01
- “手把手教你学linux驱动开发”OK6410系列之01---模块编程
- 【Linux基本操作】系列01:深入浅出Linux压缩命令
- “手把手教你学linux驱动开发”OK6410系列之01---模块编程
- “手把手教你学linux驱动开发”OK6410系列之01---模块编程 .
- 手把手教你学linux驱动开发”OK6410系列之01---模块编程
- "手把手教你学linux驱动开发”OK6410系列之01---模块编程
- “手把手教你学linux驱动开发”OK6410系列之01---模块编程
- 环境安装系列 - Linux上搭建简易Git服务01
- [转]Ultra Fractal教程系列18——如何使用图层01——图层面板
- “手把手教你学linux驱动开发”OK6410系列之03---LED字符设备驱动
- LFCS 系列第十二讲:如何使用 Linux 的帮助文档和工具
- 手把手教你学linux驱动开发 OK6410系列之03---LED字符设备驱动
- 如何使用Unix/Linux grep命令——磨刀不误砍柴工系列