专栏首页DevOps持续集成05-Shell-位置变量与预定义变量

05-Shell-位置变量与预定义变量

05-Shell-位置变量与预定义变量

shell 位置变量与预定义变量

$# : 传递到脚本的参数个数

$* : 以一个单字符串显示所有向脚本传递的参数。与位置变量不同,此选项参数可超过 9个

$$ : 脚本运行的当前进程 ID号

$! : 后台运行的最后一个进程的进程 ID号

$@ : 与$#相同,但是使用时加引号,并在引号中返回每个参数

$- : 显示shell使用的当前选项,与 set命令功能相同

$? : 显示最后命令的退出状态。 0表示没有错误,其他任何值表明有错误。

实例:

[root@node1 shell]# sh 01.sh 1 2

1 + 2 = 3

[root@node1 shell]# cat 01.sh

#!/bin/bash

#This

SUM=$(expr $1 + $2)

echo "$1 + $2 = $SUM"

实例2:

#!/bin/sh

#param.sh

# $0:文件完整路径名

echo "path of script : $0"

# 利用basename命令文件路径获取文件名

echo "name of script : $(basename $0)"

# $1:参数1

echo "parameter 1 : $1"

# $2:参数2

echo "parameter 2 : $2"

# $3:参数3

echo "parameter 3 : $3"

# $4:参数4

echo "parameter 4 : $4"

# $5:参数5

echo "parameter 5 : $5"

# $#:传递到脚本的参数个数

echo "The number of arguments passed : $#"

# $*:显示所有参数内容i

echo "Show all arguments : $*"

# $:脚本当前运行的ID号

echo "Process ID : $"

# $?:回传码

echo "errors : $?"

本文分享自微信公众号 - DevOps持续集成(devopsadmin)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2018-06-12

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 增强Jupyter Notebook的功能,这里有四个妙招

    Jupyter Notebook 是所有开发者共享工作的神器,它为共享 Notebooks 提供了一种便捷方式:结合文本、代码和图更快捷地将信息传达给受众。目前...

    用户2769421
  • 服务注册与发现组件 Eureka 客户端实现原理解析

    在前面的文章介绍了,如何使用服务注册发现组件:Eureka,并给出使用示例。本文在此基础上,将会讲解 Eureka 客户端实现的内幕,结合源码深入实现的细节,知...

    aoho求索
  • 这个Nature推荐的代码海洋竟然有文章作者上传的所有可重现性脚本,涉及单细胞、微生物组、转录组分析、机器学习等相关

    可重复性研究一直是学术发表希望实现的方式,更有助于判断研究结果的准确性和帮助后人以此为基础进行深入研究。计算分析类型的研究,是能够比较容易实现可重复性的 - 只...

    生信宝典
  • 【Java基本功】浅析Java中IO流的概念和用法

    本文介绍了Java IO流的基本概念,使用方法,以及使用的注意事项等。帮助你更好地理解和使用Java的IO流。

    Java技术江湖
  • 一份shell“圣经”收好

    不知道你是否在为突然想实现某个功能的小脚本而苦苦寻找答案,这里有一份“圣经”用来查看各种仅使用内置bash命令实现各种常用的功能和鲜为人知的用法。

    编程珠玑
  • Linux 基础学习1

    [root@localhost ~]# echo $SHELL /bin/bash

    郭大侠
  • 一款Android WebView进度条显示控件,使其加载进度平滑过渡。

    此类是从项目Justson/AgentWeb-WebIndicator中将处理WebView进度条剥离出来的,在此基础上进行优化后合并为一个类,便于导入到自己的...

    Jingbin
  • matlab增强学习之小球不落地

    在利用之前FrozenLake环境训练当中那种面向对象方式管理程序时发现训练后期运行速度变慢、而且是肉眼可观察到的变慢,所以采用了matlab另一种程序文件管理...

    万木逢春
  • 带你使用Windows上的Linux(Win10子系统)

    在过去我们需要在windows下使用liunx,要么装虚拟机要么装双系统模式。在Win10时代又增了一个方法,可以使用他的子系统。现在教大家如何安装以及使用。

    23号杂货铺
  • 19 个强大、有趣、好玩、又装B的 Linux 命令!

    输出一句话,有笑话,名言什么的 (还有唐诗宋词sudo apt-get install fortune-zh)

    程序员小明

扫码关注云+社区

领取腾讯云代金券