Shell常用操作

1、参数

   shell语言,采用$0,$1,$2..等方式获取脚本命令行传入的参数,值得注意的是,$0获取到的是脚本路径以及脚本名,后面按顺序获取参数,当参数超过10个时(包括10个),需要使用${10},${11}....才能获取到参数,但是一般很少会超过10个参数的情况

eg:
#!/bin/bash
echo "脚本$0"
echo "第一个参数$1"
echo "第二个参数$2"
echo  ...........

2、时间

   获取系统时间 (今天)  `date +%Y%m%d` 或 `date +%F` 或 $(date +%y%m%d)

对时间进行计算: date -d 

eg:
 next_day="`date -d tomorrow +%y%m%d`"                                            ##明天 
 before_date="`date -d "yesterday" +%Y-%m-%d`"   或者  "`date -d -1day +%Y%m%d`"  ##昨天
 last_day="`date -d -2day +%Y%m%d`"                                               ##获取前天日期
 依次类推比如获取10天前的日期:`date -d -10day +%Y%m%d`   或n天前的 `date -d "n days ago" +%y%m%d`
至于你需要什么样的日期时间格式,就需要应用相关的时间域参数来实现咯
相关时间域如下: 
% H 小时(00..23) 
% I 小时(01..12) 
% k 小时(0..23) 
% l 小时(1..12) 
% M 分(00..59) 
% p 显示出AM或PM 
% r 时间(hh:mm:ss AM或PM),12小时 
% s 从1970年1月1日00:00:00到目前经历的秒数 
% S 秒(00..59) 
% T 时间(24小时制)(hh:mm:ss) 
% X 显示时间的格式(%H:%M:%S) 
% Z 时区 日期域 
% a 星期几的简称( Sun..Sat) 
% A 星期几的全称( Sunday..Saturday) 
% b 月的简称(Jan..Dec) 
% B 月的全称(January..December) 
% c 日期和时间( Mon Nov 8 14:12:46 CST 1999) 
% d 一个月的第几天(01..31) 
% D 日期(mm/dd/yy) 
% h 和%b选项相同 
% j 一年的第几天(001..366) 
% m 月(01..12) 
% w 一个星期的第几天(0代表星期天) 
% W 一年的第几个星期(00..53,星期一为第一天) 
% x 显示日期的格式(mm/dd/yy) 
% y 年的最后两个数字( 1999则是99) 
% Y 年(例如:1970,1996等) 
注意:只有超级用户才有权限使用date命令设置时间,一般用户只能使用date命令显示时间。

3、循环

For循环

1、 for 变量名 in .... ; do    操作 done

eg: 遍历1-10并输出
#!/bin/bash
for number in 1 2 3 4 5 6 7 8 9 10;
do 
  echo $number;
done

2、for((i=初始值;i<=终止值;i++));do 操作 done

eg:遍历1-10
#!/bin/bash
 for((i=1;i<=10;i++));
do 
echo $i;
done

3、for  变量 in $字符串;do 操作 done

eg: 遍历字符串 'aa bb cc dd ee'
list="aa bb cc dd ee"
for i in $list;
do
echo $i
done

While循环

基本格式: while [ 变量 (判断符 -le ,-eg,ne等)  值或字符串 ]  ;do 操作 done

                                                                                     --------注意最后一个‘]’的前面必须有个空格

eg : 遍历输出1-9
i=1
while [ $i -le 10 ];
do
 echo $i
 i=$((i + 1))    #注意,此处一定要加上循环周期
done

4、判断语句

  基本格式:

            if 条件  then command else end   fi   

                      命令执行成功,等于返回0 (比如grep ,找到匹配) 执行失败,返回非0 (grep,没找到匹配)

eg :判断一个变量是否是空
if [ "$var" = "" ]       #判断读取的数据量是否为空
   then
        numbers=0
   else
        numbers=$var
fi

5、数值运算

1、双小括号(()) 数值运算命令

          双小括号的作用是进行数值运算与数值的比较

eg:
1、数值比较
((8>7&&5==5))   条件判断

2、数值运算 
echo $((1+1))  计算1+1的值

2、expr :用于整数运算

            注意:用expr命令时 左右两侧必须要空格

eg:
expr 4 + 2     计算4+2
expr 4 - 2     计算4-2
expr 4 \* 2    计算4*2 要吧*前面加上\
expr 4 / 2     计算4/2

6、读取文件

  一般的我们都会在shell中获取文件的信息,基本格式:

    $(操作);

eg:
1、获取文件的数字,并赋值
var=$(cat /aa.log | grep -e '^\s.*[0-9]\b') ;

2、获取文本的行数
var=$(wc -l /aa.log)

               目前总结出来这些,在实际开发中经常用到,还有很多没总结出来,后续再补充

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值