博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
shell内部参数详解
阅读量:6640 次
发布时间:2019-06-25

本文共 849 字,大约阅读时间需要 2 分钟。

hot3.png

一、位置参数

位置参数是一种在调用shell程序的命令行中按照各自的位置决定的变量,是在程序名之后输入的参数。位置参数之间用空格分隔,shell取第一个位置参数替换程序文件中的,第二个替换,依次类推。是一个特殊的变量,它的内容是当前这个shell程序的文件名,所以,不是一个位置参数,在显示当前所有的位置参数时是不包括的。
位置参数的值可以用$N得到,N是一个数字,如果为1,即$1.类似C语言中的数组,Linux会把输入的命令字符串分 段并给每段进行标号,标号从0开始。第0号为程序名字,从1开始就表示传递给程序的参数。如$0表示程序的名字,$1表示传递给程序的第一个参数,以此类 推。 After $9, 在位置参数$9之后的参数必须用括号括起来,例如:${10}, ${11}, ${12}。
特殊变量$*和$@ 表示所有的位置参数。

二、内部参数

上述过程中的$0是一个内部变量,它是必须的,而$1则可有可无。
和$0一样的内部变量还有以下几个:
$# ----传递给程序的总的参数数目
$? ----上一个代码或者shell程序在shell中退出的情况,如果正常退出则返回0,反之为非0值。
$* ----传递给程序的所有参数组成的字符串。
$n ----表示第几个参数,$1 表示第一个参数,$2 表示第二个参数 ...
$0 ----当前程序的名称
$@----以"参数1" "参数2" ... 形式保存所有参数
$$ ----本程序的(进程ID号)PID
$! ----上一个命令的PID
列子1:
if [ -n "$1" ]  #如果$1即参数1不为空,又即存在参数1        # 被测试的变量被双引号引起
    then
   echo "Parameter #1 is $1"  # 使用引号来使#被转义
   fi
if [ -z "$1" ]  #如果$1即参数1为空(零),又即不存在参数1     
    then

   fi 

转载于:https://my.oschina.net/shineyyl/blog/95532

你可能感兴趣的文章
Intellij 导出可运行的jar 以及部分常见问题
查看>>
iOS播放PCM,NSData流代码(Audio Queue Services)
查看>>
PHP 设计模式之——单例模式
查看>>
经验总结 - 收藏集 - 掘金
查看>>
JavaScript 异常的防范与监控
查看>>
2017-06-23 前端日报
查看>>
thinkphp5.0修改器和数据完成的关系以及使用方法
查看>>
ES2015入门系列5-解构赋值
查看>>
Vue 组件 — V - Textcomplete
查看>>
一定范围内根据关键词获取经纬度
查看>>
PHP 7.0 & 7.1 部分新增特性备忘
查看>>
使用WP AMP 插件将外贸网站打造Accelerated Mobile Pages页面
查看>>
Centos源码安装Nginx
查看>>
canvas动画—圆形扩散、运动轨迹
查看>>
HTML状态码收集(301,404,500等)
查看>>
荷兰铁路在采纳敏捷和精益中的做法
查看>>
云时代的开源软件收入模式
查看>>
滴滴进入寒冬期,将裁员2000人
查看>>
分享一个刚写的PHP加密解密函数
查看>>
ARKit 2推出共享体验
查看>>