[root@a lmk]# cat aaa.sh #!/bin/bash - hanshu(){ echo "=========================scrpt===================" }

hanshu hanshu

$#是传入的参数个数,$@是所有的传入参数 [root@a lmk]# sh aaa.sh 1 2 3 4 5 6 echo $1 $2 $2 $# $@ 1 2 3 6 1 2 3 4 5 6

不提示 [root@a lmk]# cat aaa.sh #!/bin/bash ip=$1 ping -c 2 $ip>/dev/null 2>&1 [ $? -eq 0 ] && echo "通的。" || echo "不通"

[root@a lmk]# sh aaa.sh 192.168.1.1 通的。

函数里面的$1不是输入的第一个参数,而是调用函数的第一个参数 [root@a lmk]# cat aaa.sh #!/bin/bash test(){ echo "$1"

}

test 127.0.0.1

[root@a lmk]# sh aaa.sh 192.168.1.1 127.0.0.1 [root@a lmk]#

if 和【区别】以及elif和else区别 [root@b ~]# cat if.sh #!/bin/bash #i=1 #[ $i -eq 0 ] && echo "=" || echo "!="

i=$1 if [ $i -eq 0 ];then echo "0" elif [ $i -eq 1 ];then echo "1" else echo "!=" fi