$0 表示命令本身。$1表示第一个参数。$2表示第二个参数。
创建para1.sh脚本。
#!/bin/bash
echo $0
echo $1
echo $2
root@csc:/tmp/testdir# ./para1.sh aaa bbb
./para1.sh
aaa
bbb
创建para2.sh脚本。
#!/bin/bash
num1=$1
num2=$2
sum=$(($num1+$num2))
echo "sum is : $sum"
root@csc:/tmp/testdir# ./para2.sh 10 30
sum is : 40
$*和$@,返回所有参数。$*作为一个整体,$@区别对待。
$# 返回参数的个数。
创建脚本para3.sh。
#!/bin/bash
echo "total parameter is $#"
for i in "$*"
do
echo "The parameters is: $i"
done
for y in "$@"
do
echo "The parameter is: $y"
done
执行:
root@csc:/tmp/testdir# ./para3.sh 111 222 333
total parameter is 3
The parameters is: 111 222 333
The parameter is: 111
The parameter is: 222
The parameter is: 333