标签:个数 return 命令 脚本 传递 usr pwd test seq
1.$0 获取当前执行的shell脚本的文件名,包括路径。[root@usr001 ~]# seq -s " $" 1 10|sed ‘/1/s/1/$1/‘
$1 $2 $3 $4 $5 $6 $7 $8 $9 $10
[root@usr001 ~]# seq -s " $" 1 10|sed ‘/1/s/2/$1/‘
1 $$1 $3 $4 $5 $6 $7 $8 $9 $10
[root@usr001 ~]# seq -s " $" 1 10|sed ‘/1/s/3/$1/‘
1 $2 $$1 $4 $5 $6 $7 $8 $9 $10
[root@usr001 ~]#
[root@usr001 ~]# seq -s " $" 1 10|sed ‘/1/s/10/{10}/‘|sed
‘/1/s/1/$1/‘
$1 $2 $3 $4 $5 $6 $7 $8 $9 ${10}
[root@usr001 ~]#
[root@usr001 ~]# sh n.sh kk ff
kk ff
[root@usr001 ~]# sh n.sh seq -s " " 1 10
1 2 3 4 5 6 7 8 9 10
[root@usr001 ~]# sh n.sh seq -s " " 1 9
1 2 3 4 5 6 7 8 9
[root@usr001 ~]# sh n.sh 1 2 3 4 5 6 7 8
1 2 3 4 5 6 7 8
[root@usr001 ~]#
3.$# 获取当前shell命令行中参数的总个数。
[root@usr001 ~]# vi n.sh
[root@usr001 ~]# sh n.sh 1 2 3 4 5 6 7 8
1 2 3 4 5 6 7 8
8
[root@usr001 ~]# sh n.sh seq -s " " 1 9
1 2 3 4 5 6 7 8 9
9
[root@usr001 ~]# sh n.sh "1 2 3 4 5 6 7 8"
1 2 3 4 5 6 7 8
1
[root@usr001 ~]# cat b.sh
dirname $0
basename $0
[root@usr001 ~]# sh b.sh
.
b.sh
[root@usr001 ~]# sh /root/b.sh
/root
b.sh
4.$? 获取执行上一个指令的返回值(0为成功,非零为失败)
2 权限拒绝 1~125 表示运行失败,脚本命令、系统命令错误或参
数传递错误; 126 找到该命令了,但是无法执行。 127 未找到要
运行的命令; 128 命令被系统强制结束。
提示:在脚本调用,一般用exit 0,函数return 0.
5.$$ 获取当前shell的进程号(PID)。
[root@usr001 ~]# cat a.log |cut -c1-4|xargs kill
[root@usr001 ~]# cat all.sh
echo ‘1.‘ $0
echo ‘2.‘ ‘$1‘=$1 ‘$2‘=$2 "\$3=$3"
echo ‘3.‘ $*
echo ‘4.‘ $#
echo ‘5.‘ $$
sleep 2 &
echo ‘6.‘ $!
echo ‘7.‘ $?
echo ‘8.‘ $@
echo ‘9.‘ $_
[root@usr001 ~]# sh all.sh xiaoming hanmei lilei
标签:个数 return 命令 脚本 传递 usr pwd test seq
原文地址:http://blog.51cto.com/12040328/2307011