shell编程快速入门及实战 (2)

shell编程快速入门及实战


5、指定时间输出 --date=\'3 days ago\'

shell编程快速入门及实战

6、标准输入、输出、错误:
1、标准输入、输出、错误都是命令行,使用文件描述符0、1、2引用
2、使用重定向可以把信息转换到其他位置
---------
ls > a.txt ---将test.sh转换到a.txt中输出了
ls 1>b.txt ---将a.txt和test.sh转换到b.txt中输出了

shell编程快速入门及实战

7、使用crontab(类似于Java中的timer):
  1、Linux下的定时任务
  2、编辑使用crontab -e
        * * * * * date>>/root/a.txt
        一共六列,分别是:分 时 日 月 周 命令
        (默认是按照每个小时的第一分钟输出)
        要想按照每个小时的第5分钟输出,则需修改为:5 * * * * date>>/root/a.txt
        要想每隔5分钟输出,则修改为:5,10,15,20,25,30 * * * * date>>/root/a.txt
  3、查看使用crontab -l

shell编程快速入门及实战

8、if判断、for循环:(注意符号之间空格!每一行的结束都有一个空格!!!)
if [ ... ] ---if和[之间、[和条件之间、条件和]之间都有一个空格。
then
...
fi

for ((i=0;i<10;i++)) ---for和(之间有个空格
do
...
done
----------
vi if.sh
#!/bin/sh
if [ \'a\'=\'a\' ]
then
echo \'equal\'
fi
chmod u+x if.sh
if.sh ---输出equal

shell编程快速入门及实战

vi for.sh
#!/bin/sh
for ((i=0;i<10;i++))
do
echo $i
done
chmod u+x for.sh
for.sh

shell编程快速入门及实战

9、自定义函数:
function 函数名(){
....
}

//最后一行语句是默认返回值

引用自定义函数文件时,使用source func.sh
------------------
vi func.sh
  #!/bin/sh
  function dat(){
    date +%Y-%m-%d
  }
  dat

chmod u+x func.sh
func.sh

shell编程快速入门及实战

vi func.sh
#!/bin/sh
function dat(){
date --date="$1 days ago" +%Y-%m-%d
}
dat 2
func.sh ---输出当前时间的2天前的日期

shell编程快速入门及实战


-----------------

在test.sh中引用func.sh:
vi test.sh
#!/bin/sh
source func.sh ---最好指定路径
dat -2
test.sh ---输出2天后的日期

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zzdspd.html