shell的位置参数和特殊变量

shell中有很多自动复制的变量

常用的位置参数和特殊变量有

$0       相当于C语言main函数的argv[0]

$1 $2 $3....位置参数,相当于argv[1],argv[2],argv[3]

$#       相当于argv -1

$@      表示参数列表(可以用做for的遍历)

$*        表示参数列表

$?       上一条命令的exit status(0为真  非0为假)

$$       当前进程号

shift     会使参数列表右移一位

#! /bin/sh

echo "the program $0 is now running"
echo "the first parameter is $1"
echo "the second parameter is $2"
echo "the parameter list is $@"
echo "the parameter list is $*"
shift
echo "the first paraneter is $1"
echo "the second paranter is $2"
echo "the parameter list is $@"
echo "the parameter list is $*"




[root@localhost ~]# . test.sh 11 22 33 44
the program -bash is now running
the first parameter is 11
the second parameter is 22
the parameter list is 11 22 33 44
the parameter list is 11 22 33 44
the first paraneter is 22
the second paranter is 33
the parameter list is 22 33 44
the parameter list is 22 33 44

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值