shell脚本基本语法详解

注意

1:编写shell脚本的时候,前面必须加上:#!/bin/bash
2:一般shell的变量赋值的时候不用带“$”,而使用或者输出的时候要带“$”
3:加减乘除的时候要加两层小括号,括号外面要有一个“$”
4:变量赋值,变量使用的时候不能有空格,否则会被解析成命令,报错无此命令。

执行shell脚本

执行shell脚本的两种 方式
1:sh 文件名
2: ./文件名 (被执行文件需要有执行权限,否则报错)

shell变量表达式

shell变量表达式

shell条件分支结构语句

1:单分支判断语句

格式:if 条件 ; then 结果 fi ,最后面一定要有fi,在shell脚本里面,控制分支结构结束都要和开头的单词相反,例如,if <–> fi,case <–> esac。

#!/bin/bash
echo "Please input a filename"
read filename
if [ -f $filename ];then
echo "this file is a ordinary file."
fi

结果如图:
1

2:双分支判断语句

#!/bin/bash
echo "Please input a filename"
read filename
if [ -f $filename ];then
echo "this file is a ordinary file"
else
echo "this file is a not ordinary file "
if

结果如图:
2

shell循环语句

1:while语句
while语句是只要条件为真就执行下面语句。
格式:
while 条件
do
语句
done
需要注意的是,这里的条件除了 while true 可以这样写,其它的条件都要用 test或者 []来判断
#!/bin/bash
i= 1while[ i -gt 0 ]
do
echo $i
((i–))
done
结果如图:
2

2:until语句

until语句是只要条件为假就执行下列语句
格式:
until 条件
do
语句
done

 #!/bin/bash

i=$1
until [ $i -le 0 ]
do
echo $i
((i--))
done

结果如图:
2

3:for语句

格式:
for 变量 in 列表
do
语句
done

#!/bin/bash
for i in `seq 2 8` #seq是一个命令,顺序生成一串数字或者字符
do
  echo $i
done

结果如图:
2

shell函数

格式:
[function] funcName()
{
语句
[return 返回值]
}
返回值是可选的,如果没有显示return 则默认返回最后一条语句执行的结果。

Shell 函数返回值只能是整数,一般用来表示函数执行成功与否,0表示成功,其他值表示失败。如果 return 其他数据,比如一个字符串,往往会得到错误提示:“numeric argument required”。

如果一定要让函数返回字符串,那么可以先定义一个变量,用来接收函数的计算结果,脚本在需要的时候访问这个变量来获得函数返回值。

函数参数从 1 n,$0 是文件名。

#!/bin/bash

#打印数字
printNum()
{
 echo $1
}

for i in `seq 2 8` #seq是一个命令,顺序生成一串数字或者字符
do
printNum $i
done
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值