linux脚本中 $,shell脚本中$的用处

1.$0 获取当前执行的shell脚本的文件名,包括路径。

[root@usr001 ~]# vi test.sh

[root@usr001 ~]# cat test.sh

echo $0

[root@usr001 ~]# sh test.sh

test.sh

[root@usr001 ~]# pwd

/root

[root@usr001 ~]# sh /root/test.sh

/root/test.sh

[root@usr001 ~]#

2.$n 获取当前执行的shell脚本的第n个参数值,n=1..9,当n为0

时表示脚本的文件名,如果n大于9就要用大括号括起来${10}.

[root@usr001 ~]# seq -s " $" 0 10

0 $1 $2 $3 $4 $5 $6 $7 $8 $9 $10

[root@usr001 ~]# seq 9|sed 's#[0-9]#$g'

$1

$2

$3

$4

$5

$6

$7

$8

$9

[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

all.sh

$1=xiaoming $2=hanmei $3=lilei

xiaoming hanmei lilei

3

3576

3577

0

xiaoming hanmei lilei

lilei

[root@usr001 ~]#

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值