shell脚本学习

1、 执行shell脚本

sh test.sh 参数1 参数2……

2、 获取输入参数

$1、$2、$3、…..    第0个参数是文件名
#!/bin/bash
echo 第0个参数是:$0
echo 第1个参数是:$1
echo 第2个参数是:$2
echo 第3个参数是:$3

3、 shell脚本函数

#!/bin/bash
function add
{
sum=`expr $1 + $2`
echo $sum
}
add 1 2
$ sh test.sh
3

必须先定义函数,才能调用,而且函数无参数列表,但是可以传参。

4、 expr用法
主要用于四则运算和字符串的操作。
(1)四则运算
例如:对于加减乘除不能写为:

10 + 20

但是可以写为:

$ expr 10 + 20
30

具体用法为:
expr argument operator argument
(注意运算符左右都有空格 ,如果没有空格表示是字符串连接)
注意乘法:expr 30 * 30 使用乘号时,必须用反斜线屏蔽其特定含义。因为shell可能会误解显示星号的意义。
(2)获取字符串长度

$ expr length “aaaa”
4

(3)模式匹配
格式:expr STRING : REGEXP

$ expr 'abc.c' : '\(.*\).c'
abc

(4)获取某个字符的索引,如果不存在返回0

$ expr index “abcd” c
3
$ expr index “abcd” e
0

5、 在脚本中调用其他脚本
第一个脚本first

#!/bin/bash
echo 'your are in first file'
val=`expr $1 + $2`
echo $val

第二个脚本second

#!/bin/bash
echo 'you are in second file'
sh first.sh '10' '20'

第二个脚本调用第一个脚本

6、判断
-eq 等于
  -ne 不等于
  -gt 大于
  -lt 小于
  -le 小于等于
  -ge 大于等于
  -z 空串
  = 两个字符相等
  != 两个字符不等
  -n 非空串
  
7、if
(1)基本语法
if [ command ]; then
符合该条件执行的语句
fi
(2)扩展语法
if [ command ];then
符合该条件执行的语句
elif [ command ];then
符合该条件执行的语句
else
符合该条件执行的语句
fi

8、for
(1) for

#!/bin/bash
for ((i=1; i<=10; i++))
do
echo $i
done

(2) for-in

#!/bin/bash
for i in 1 2 3
do
echo $i
done

9、while

#!/bin/bash
i=1
sum=0
while [ $i -le 100 ]
do
  let sum=sum+$i
  let i++
done
echo $sum

10、vim
(1)打开vim编辑器:vim filename
(2)输入“i”进行编辑
(3)esc退出编辑
(4):wq 退出并保存
注意:在Windows下编写好sh文件后,在Linux下运行会报错:bash: $’\r’: command not found;
这是因为Windows系统的文件换行使用的是\r\n,而Unix系统是\n;
解决:使用vim打开文件,然后使用命令:set ff=unix,保存文件

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值