shell基本语法

1.shell 是批处理程序,类似与windows的bat文件

2.写shell时,第一行要以#!/bin/bash 开头  Execute the file using the Bash shell.

3.使用#注释(最好备注shell脚本的功能作用以防日后忘记)

4.文件名应以.sh结尾

5.运行时,执行方式 sh 1.sh;chmod +x 1.sh; ./1.sh || /root/test/1.sh(绝对路径)

 

if

if [ ];then

elif [ ];then

else...

fi

[[ ]] 比[]更通用。

-gt 大于

-ge 大于等于

-lt 小于

-le 小于等于

-eq 等于

-ne 不等于

if [ $a -gt 10 || $a -lt  4 ]

if [ $a -gt 10 -o $a -lt 4 ]

|| -o(or) 或者 && -a(and) 并且

 

-f 判断是否是一个文件且存在

-d 判断是否是一个目录且存在

-e 判断目录或文件是否存在

-z 表示变量为空时成立  if [ -z $b ]

-r 判断是否可读

-w 判断是否可写

-x 判断是否可执行

 

case

#!/bin/bash

n=88

a=$[$n%2]

case $a in

       1)

       echo " "

       ;;

       0)

       echo " "

       ;;

       *)

       echo " "

       ;;

esac

 

for

#!/bin/bash

for i in `seq 1 10`

do

       echo $i

done

 

while

while [条件] ;do

       命令

done

 

 

read -p “*****” a 交互  读取输入

补充知识:

date

date +%F xxxx-xx-xx 日期

date +%T xx:xx:xx 时间

%y 2位的年

%Y 4位的年

%m 月份

%M 分钟

%d 日期

%S 秒

%s 时间戳

%w 周几(周日显示0)

%W 今年的第几周

ntpdate 时间服务器地址  网络同步时间

如果没有安装 请安装yum install ntp 并开启服务 service ntpd start

date -s “2017-12-22 11:40:50” 本地修改日期时间

date -d “-1 day”   -d 表示不是现在 是指定的时间  week year month day min hour

 

seq

用法:seq [选项]... 尾数

 或:seq [选项]... 首数尾数

 或:seq [选项]... 首数增量 尾数

-w  0001 02 ………20

 

 

乘法口诀表

#!/bin/bash

for i in `seq 1 9`

do

       for j in `seq 1 $i`

       do

                k=$[$i*$j]

                echo -ne "$j * $i =$k\t"

       done

       echo

done

for i in `seq 1 9`

do

       for j in `seq 1 $i`

       do

                k=$[$i*$j]

                echo -ne"$j""x""$i = $k\t"

       done

       echo

done

 

死循环

while :; do echo 1; sleep 2; done 每隔两秒打印一个1

while sleep 2; do echo 1; done

 

break 退出循环

continue 退出本次循环继续下次循环

exit 退出shell程序

 

echo “内容”|mail -s ‘主题’ 邮箱地址 尽量用英文
---------------------
作者:TynMhxx
来源:CSDN
原文:https://blog.csdn.net/TynMhxx/article/details/78879548
版权声明:本文为博主原创文章,转载请附上博文链接!

posted @ 2018-12-13 13:25  在途中#  阅读(673)  评论(0编辑  收藏  举报