shell编程-位置参数和特殊变量

位置参数和特殊变量

首先我们先来聊聊 C/C++的命令行参数一遍大家理解shell的位置参数和特殊变量

int main(int argc, char* argv[])

1.argc表示参数的个数 比如  ./a.out   do some   asldkfj

这样的话 argc == 3  把 可执行文件 ./a.out   也包含进来了

2.argv表示一个 指针数组 ,数组中的每个元素都是一个指针,每一指针又是 一个 字符串的首地址

这样的话  argv[0] == "./a.out ",  argv[1] == "do some" , argv[2] == "asldkfj" 好 这里理解的话  我们接下来就开始讨论shell的位置参数和特殊变量

 

在shell编程中

$0    表示 C/C++  main函数 argv[0]

$1 $2 ..... 表示 main函数的 argv[1], argv[2].......

$#    表示main 函数的  argc-1 如果放在上面这个例子的话 就是  2

#@   表示除$0 之外的 参数列表  "$1", "$2"........例如可以在for循环中 的 in后面加这个

#*   表示除$0 之外的 参数列表  "$1", "$2"........  同上

#? 表示上一条命令(执行命令的进程)的 结束状态 (int类型)=》return 0;

$$  表示当前的进程号

 

另外!!!位置参数可以用 shift命令左移,比如  shift3 表示 原来的$4 变成现在的 $1 , 原来的$5 变成$2 等等。

这样原来的$1 $2 $3 丢弃 , $0不懂, 不带参数的 shift相当于  shift 1例如:

demo

 

效果:

更多的shell编程我会在下面的文章中陆续的分享,也可以关注‘奇牛学院’

来一起讨论

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值