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}'