shell基础--shell特殊变量
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了shell基础--shell特殊变量相关的知识,希望对你有一定的参考价值。
一.变量列表
二.实验
系统:centos 7
1.特殊变量
[[email protected]~_~ day2]# cat p.sh
#!/bin/bash
echo ‘$0:‘$0
echo ‘$*:‘$*
echo ‘[email protected]:‘[email protected]
echo ‘$#:‘$#
echo ‘$1$2$3:‘ $1$2$3
[[email protected]~_~ day2]# sh p.sh a b c d
$0:p.sh
$*:a b c d
[email protected]:a b c d
$#:4
$1$2$3: abc
2.$$
[[email protected]~~ day2]# echo $$
1974
3.shift命令: 移位位置参数,重命名位置参数 $N+1、$N+2 ... 到 $1、$2 ... 如果没有给定 N,则假设为1。每次移动之后$#会少N
(1).例子一,移动位置变量
[[email protected]~_~ day3]# cat r.sh
#!/bin/bash
until [ $# -eq 0 ]
do
echo "the first value is:$1 the number of values is:$#"
shift
done
[[email protected]~_~ day3]# sh r.sh 1 2 3 4 5
the first value is:1 the number of values is:5
the first value is:2 the number of values is:4
the first value is:3 the number of values is:3
the first value is:4 the number of values is:2
the first value is:5 the number of values is:1
(2).例子二,利用shift移位进行累加
[[email protected]~_~ day3]# cat s.sh
#!/bin/bash
sum=0
until [ $# -eq 0 ]
do
sum=`expr $sum + $1`
shift
done
echo "sum is:$sum"
[[email protected]~_~ day3]# sh s.sh 1 2 3 4 5
sum is:15
注意:以上的位移量都是1,位移量大于1时,输入参数个数的不同,可能会有逻辑错误。
以上是关于shell基础--shell特殊变量的主要内容,如果未能解决你的问题,请参考以下文章
shell脚本由基础变量及特殊变量($@$*$#等)到实战。