shell脚本中的'$1'

回复 收藏
我们写一个shell脚本,有时是需要带参数的。咱们都知道,命令行中 任何一个命令都可以跟参数,比如ls -l ,另外在后面还可以跟filename
ls  -l filename
这里的 filename就是所谓的$1. 如果有多个filename呢,那$1后面的自然是$2,$3...
举个简单的shell脚本的例子
#! /bin/bash
a=$(($1+$2))
echo $a

假如该脚本的名字为1.sh ,那么如下执行
/bin/bash  1.sh 1 2
那么结果就是3

我在网上见有人这样问的, if [ !$1 ] 表示什么意思?
!在shell中表示非的意思,if [ !$1 ] 则表示$1 参数不存在。不妨写个脚本试试看
#! /bin/bash
if [ !$1 ] ; then echo "please input $1"; fi
if [ !$2 ];  then echo "please input $2"; fi
a=$(($1+$2))
echo $a

运行这个脚本时,如果后面跟一个数字或者不跟,则会报错。
2012-04-08 21:10 举报
已邀请:
0

齐天大圣

赞同来自:

明白!
0

So Long

赞同来自:

懂了,哈哈
0

lyhabc

赞同来自:

这样不是更好吗
if [ ! -z $1 ] ; then echo "please input $1"; fi

回复帖子,请先登录注册

退出全屏模式 全屏模式 回复
评分
可选评分理由: