Chinaunix首页 | 论坛 | 博客
  • 博客访问: 443373
  • 博文数量: 184
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 594
  • 用 户 组: 普通用户
  • 注册时间: 2013-12-17 16:24
个人简介

我是一只小小鸟

文章分类

全部博文(184)

文章存档

2016年(1)

2015年(55)

2014年(127)

2013年(1)

分类: LINUX

2014-04-27 16:42:22


点击(此处)折叠或打开

  1. #!/bin/bash
  2. if [ $# -eq 1 ];then
  3. echo "The number of parameters is only one."
  4. echo "It's $*"
  5. elif [ $# -gt 1 ];then
  6. echo "The number of parameters is $#."
  7. echo "The \$0 is $0"
  8. echo "The parameters is $*"
  9. echo "The \$@ is $@."
  10. else
  11. echo "******none parameter******"
  12. exit 0
  13. fi
  14. #end


输出结果:
[root@test7 shell]# ./parameter
******none parameter******
[root@test7 shell]# ./parameter para1
The number of parameters is only one.
It's para1
[root@test7 shell]# ./parameter para1 para2
The number of parameters is 2.
The $0 is ./parameter
The parameters is para1 para2
[root@test7 shell]# ./parameter para1 para2 para3
The number of parameters is 3.
The $0 is ./parameter
The parameters is para1 para2 para3
[root@test7 shell]# ./parameter 1 2 3 4 5 6  7 8 9 0 10 11
The number of parameters is 12.
The $0 is ./parameter
The parameters is 1 2 3 4 5 6 7 8 9 0 10 11
The $@ is 1 2 3 4 5 6 7 8 9 0 10 11.
说明:
$0就是该bash文件名,0为脚本文件本身的名字, 后边为参数;
$? ----程序返回值,即执行上一个指令的返回值 (显示最后命令的退出状态。0表示没有错误,其他任何值表明有错误);
$#  ----命令行参数的个数;
$* ----执行该程序时所加的参数”$1 $2 $3 $4 ...”,此选项参数可超过9个;
$@----跟$*类似,但是可以当作数组用。

小知识:
cd ${0%/*}
 表示删除从变量$0尾部开始第一个正斜冈之后匹配到的内容,返回剩下的内容。如$0是这个目录/home/john/source 那么就是把"/source"截掉剩下的

阅读(728) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~