shell相关指令介绍$*和$#以及$?和if [[ ! -z $1 ]]

$#,脚本运行时后跟的参数个数
#! /bin/bash

case "$#" in
0) printf "Enter a number: "
read
n=$REPLY
;;
*) n=$1
;;
esac
x=$(( (1 + $n) * $n / 2 ))
echo "Tne value of 1 + 2 + 3....+$n = $x"
这段shell的意思:
如果参数个数为零,就提示让你输入一个数字;
如果参数个数不为零,则取第一个参数的值
然后计算1到这个数字的和值,输出!

echo >>是追加,echo >是覆盖


$*和$@以及$#的区别
举例说:
脚本名称叫test.sh 入参三个: 1 2 3
运行test.sh 1 2 3后
$*为"1 2 3"(一起被引号包住)
$@为"1" "2" "3"(分别被包住)
$#为3(参数数量)

对于上一条指令的执行情况可以使用:echo $? 若出现0则代表上条指令执行正确,若为1--255则代表是错误的

 shell if [[ ! -z $1 ]]判定参数是否为空

 
 
 
posted @ 2015-07-07 10:54  haoxing990  阅读(1683)  评论(0编辑  收藏  举报