参考链接http://c.biancheng.net/cpp/shell/|shell脚本教程
shell脚本语言学习
hello world
新建.sh文件,并给文件授权x权限。打开文件并在文件中输入以下代码\
第一行表示用/bin/bash来编译执行此文件,第二行表示在窗口输出“hello world!”
基本语法
shell语言的语法和c语言类似,所以学起来还是比较容易理解。
变量
|
|
- 变量定义用等于号,中间没有空格。
- 变量以大小写字母开头。
- 变量引用用${变量},{}可省略,最好不要省略。
运算符
- 表达式和运算符之间要有空格,例如 2+2 是不对的,必须写成 2 + 2
- 完整的表达式要被
包含,注意这个字符不是常用的单引号,在 Esc 键下边 - bash不支持简单的数学运算,但是可以通过其他命令来实现,例如 awk 和 expr,expr 最常用123#!/bin/bashval=`expr 2 + 2`echo "Total value : $val"
http://c.biancheng.net/cpp/view/2736.html|shell运算符
常用数据类型
字符串
最好用双引号,里面可以直接引用变量。
数组
定义数组
读取数组
换取数组长度
常用语句
条件语句if
- if … fi 语句;
- if … else … fi 语句;
- if … elif … else … fi 语句。1234if [ expression ]thenStatementfi
注意:所有的[]和里面的表达式都需要空格[ $a == $b ]
循环语句
for循环
while循环
until循环
跳出循环break,continue。这两个关键字后面可以跟数字,表示跳出基层循环。
函数
函数定义
函数调用,直接写函数名字就行。函数返回值在调用该函数后通过 $? 来获得
函数参数
文件操作
向文件中写 command > file ,command为命令,file为文件。
例子:定时删除多少天之前的文件
1、新建文件夹hello.sh并给予运行权限,并在其中输入以下代码
${dir}为路径
-mtime +1 是设置时间为1天前
-type f表示删除的是文件
“|”为管道,连接一个命令的标准输出和另一个命令的标准输入。
xargs可以通过管道传递参数,作用是将参数列表转换成小块分段传递给其他命令。
2、建立定时任务
使用命令crontab -e编辑定时任务。加上以下代码
每分钟运行一次hello.sh文件。
