!/bin/bash
- #函数示例
- function func1 {
- echo "This is an example of a function"
- }
-
- count=1
- while [ $count -le 5 ]
- do
- func1
- count=$[$count + 1 ]
- echo "count:" $count
- done
-
- echo "This is the end of the loop"
-
- func1
-
- echo "Now this is the end of the script"
- #向函数传递参数
- function addem {
- if [ $# -eq 0 ] || [ $# -gt 2 ]
- then
- echo -1
- elif [ $# -eq 1 ]
- then
- echo $[ $1 + $1 ]
- else
- echo $[ $1 + $2 ]
- fi
- }
- echo -n "Adding 10 and 15:"
- value=$(addem 10 15)
- echo $value
- #shell脚本局部变量
- function func1 {
- local temp=$[ $value + 5 ]
- echo "The local temp is $temp"
- result=$[ $temp *2 ]
- }
-
- temp=4
- value=6
-
- func1
- echo "The result is $result"
- echo "The global temp is $temp"
-
- if [ $temp -gt $value ]
- then
- echo "temp is larger"
- else
- echo "temp is smaller"
- fi
- #向脚本中传入数组,此种方法只能传一个参数
- function testit {
- echo "The parameters are: $@"
- thisarray=$1
- echo "The received array is ${thisarray[*]}"
-
- }
-
- myarray=(1 2 3 4 5)
- echo "Ther original array is:${myarray[*]}"
- testit $myarray
- #向脚本中传入数组的正确写法
- function testit {
- echo "number:$#"
- echo "argume:$@"
- local newarray
- newarray=(`echo "$@"`)
- echo "The new array value is: ${newarray[*]}"
- }
-
- myarray=(1 2 3 4 5)
- echo "The original array is ${myarray[*]}"
- testit ${myarray[*]}
- #使用数组变量
- function addarray {
- local sum=0
- local newarray
- newarray=($(echo "$@"))
- for value in ${newarray[*]}
- do
- sum=$[ $sum + $value ]
- done
- echo $sum
- }
-
- myarray=(1 2 3 4 5)
- echo "The original array is:${myarray[*]}"
- arg1=$(echo ${myarray[*]})
- result=$(addarray ${myarray[*]})
- echo "The result is $result"
- echo "------------------------------"
- result=$(addarray $arg1)
- echo "The result is $result"