Functions in the shell
1. First case:
[[email protected] shell]# sh fun1.sh the first par is bthe second par is athe third par is 2the script name is fun1.shthe number of par is 5[[email protected] shell]# cat fun1.sh #!/bin/bashfunction inp(){ echo "the first par is $1" echo "the second par is $2" echo "the third par is $3" echo "the script name is $0" echo "the number of par is $#"}inp b a 2 3 adf
You can also put the parameters outside.
[[email protected] shell]# cat fun1.sh #!/bin/bashfunction inp(){ echo "the first par is $1" echo "the second par is $2" echo "the third par is $3" echo "the script name is $0" echo "the number of par is $#"}inp $1 $2 $3 [[email protected] shell]# sh fun1.sh 1 2the first par is 1the second par is 2the third par is the script name is fun1.shthe number of par is 2
2. A second case:
[[email protected] shell]# cat fun2.sh #!/bin/bashsum(){ s=$[$1+$2] echo $s}sum 1 10[[email protected] shell]# sh fun2.sh 11[[email protected] shell]# sh -x fun2.sh + sum 1 10+ s=11+ echo 1111
3. A third case:
[[email protected] shell]# cat fun3.sh #!/bin/baship(){ ifconfig |grep -A1 "$1: "|awk ‘/inet/ {print $2}‘}read -p "please input the eth name: " ethip $eth [[email protected] shell]# sh fun3.sh please input the eth name: ens33192.168.188.130[[email protected] shell]# sh fun3.sh please input the eth name: ens33:0192.168.188.150[[email protected] shell]# sh fun3.sh please input the eth name: ens37192.168.252.128
Arrays in the shell
1. Define the array and print:
[[email protected] shell]# b=(1 2 3)[[email protected] shell]# echo $b1[[email protected] shell]# echo ${b[@]}1 2 3[[email protected] shell]# echo ${b[*]}1 2 3[[email protected] shell]# echo ${b[1]}2[[email protected] shell]# echo ${b[0]}1[[email protected] shell]# echo ${b[2]}3
2. Get the number of array elements: add a #
[[email protected] shell]# echo ${#b[*]}3
3. Assigning values to arrays:
[[email protected] shell]# b[3]=a[[email protected] shell]# echo ${b[*]}1 2 3 a[[email protected] shell]# b[3]=66[[email protected] shell]# echo ${b[*]}1 2 3 66
4. If the subscript does not exist, add one automatically:
[roo[email protected] shell]# b[5]=6[[email protected] shell]# echo ${b[*]}1 2 3 66 6
5. Delete the element:
[[email protected] shell]# unset b[3][[email protected] shell]# echo ${b[*]}1 2 3 6 6[[email protected] shell]# unset b[4][[email protected] shell]# echo ${b[*]}1 2 3 6[[email protected] shell]# unset b[[email protected] shell]# echo ${b[*]}
6. Array Shards:
[[email protected] shell]# a=(`seq 1 10`)[[email protected] shell]# echo ${a[*]}1 2 3 4 5 6 7 8 9 10[[email protected] shell]# echo ${a[*]:3:4}4 5 6 7[[email protected] shell]# echo ${a[*]:-3:2}1 2 3 4 5 6 7 8 9 10[[email protected] shell]# echo ${a[*]:0-3:2}8 9
7. Array substitution:
[[email protected] shell]# echo ${a[*]/8/6}1 2 3 4 5 6 7 6 9 10[[email protected] shell]# a=(${a[*]/8/6})[[email protected] shell]# echo ${a[*]}1 2 3 4 5 6 7 6 9 10
Demand analysis of alarm system
Functions and arrays in the shell