Shell函数基础

Shell函数

用户可以在Shell中自定义函数,基本格式是:

#!/bin/bash
[function] 函数名(){
    语句;
    [return int;]
}

例如:

#!/bin/bash
function test(){
 echo "first function"
}
test

想要调用函数可以直接在/bin/bash中调用
在这里插入图片描述
有返回值:
1、可以带function test2() 定义,也可以直接test2() 定义,不带任何参数。
2、参数返回,可以显示加:return 返回,如果不加,将以最后一条命令运行结果,作为返回值。 return后跟数值n(0-255
下面的例子定义了一个函数并进行调用:


test2(){
a=1
b=$[ $a+1 ]
return $b
}
test2
echo "返回值是:$?"

返回值在调用后用$?来获得
在这里插入图片描述

打印三角形

直角在左下角:
seq表示的是取值从1到6,-n表示打印时不换行

#!/bin/bash
#1、直角在左下角
for i in `seq 1 6`
do
 for j in `seq 1 $i`
 do
   echo -n '*'
 done
   echo ''
done

在这里插入图片描述
直角在右下角:


#2、直角在右下角
for i in `seq 1 6`
do
 for j in `seq 1 $[ 6-$i ]`
 do
  echo -n ' '
 done
 for k in `seq 1 $i`
 do
  echo -n '*'
 done
 echo ''
done

在这里插入图片描述
3、直角在左上角

**
#3、直角在左上角
for ((i=1;$i<=6;i++))
do
 for ((j=7-$i;$j>0;j--))
 do
  echo -n '*'
 done
 echo ''
done
**

在这里插入图片描述
4、直角在右上角

#4、直角在右上角
for ((i=1;$i<=6;i++))
do
 for ((j=1;$j<=$i-1;j++))
 do
 echo -n ' '
 done
 for ((k=1;$k<=7-$i;k++))
 do
 echo -n '*'
 done
 echo ''
done

在这里插入图片描述

截取字符

截取字符串的关键词是:awk
-F用来指定分隔符,分隔符用单引号引起来
print $index:打印我们想要获取的截取那一部分
我们对str中的字符串进行截取

#!/bin/bash
str="http://www.baidu.com/user/123.html"
echo $str | awk -F '//' '{print $2}'

以‘//’分隔符,分成了左右两部分。$2值得是选取第二部分,如有要选1就是$1
在这里插入图片描述

#!/bin/bash
str="http://www.baidu.com/user/123.html"
echo $str | awk -F '//' '{print $2}'
echo $str | awk -F '.' '{print $3}'

以点结尾,取第三部分,则为:
com/user/123
在这里插入图片描述
如果想截取123,我们可以再加一个管道符进行截取:

#!/bin/bash
str="http://www.baidu.com/user/123.html"
echo $str | awk -F '//' '{print $2}'
echo $str | awk -F '.' '{print $3}'
echo $str | awk -F '.' '{print $3}'|awk -F '/' '{print $3}'

在这里插入图片描述

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值