`

《Linux Shell》之七:变量的高级用法

阅读更多

9.1 内部变量

BASH:记录bash shell的路径

BASH_VERSION:bash shell版本信息

GROUPS:记录当前用户所属的群组

HOSTNAME:主机名

REPLY:默认read后面要接一个变量,如果没有就将读取的值放入REPLY中,在select中将选择的数字赋给REPLy

SECONDS:记录脚本从开始执行到结束所消耗的时间

#!/bin/bash

count=1
MAX=5

while [ "$SECONDS" -le "$MAX" ]
do
    echo "This is the $count time to sleep"
    let count=$count+1
    sleep 2
done

echo "the running time of this script is $SECONDS"

 TMOUT:用于设置shell的过期时间,当TMOUT不为0时候,shell在TMOUT秒后自动注销。TMOUT放在脚本中,可以规定脚本的执行时间。

 

9.2 字符串处理:

* 字符串长度:

${#string} 或者  expr length "$string"

* 子串的索引:

expr index "$string" "$substr",从1开始,如果找不到,返回0

* 从开头匹配:

expr match $string $substr  其中substr可以是正则表达式,返回匹配的子串长度,如果没有返回0

* 抽取子串:

#{string:position}

#{string:position:length}

注意:上面的position从0开始

expr substr $string $position $length

注意:上面的position是从1开始的,我勒个擦,并且length必须指定

* 正则式抽取子串:

expr match $string '\($substr\)'  --> 抽取开头的子串

expr match $string '.*($substr\)'  -->抽取最后的子串

* 删除子串

${string#substr}  开头删最短

${string##substr} 开头删最长

${string%substr} 结尾删最短

${string%%substr} 结尾删最长

******* 替换子串 *******

可以在替换字符串中任意满足条件的子串

${string/substring/replacement}  仅仅替换第一次匹配

${string//substring/replacement}  替换所有的匹配

注:substring不是正则式,*跟shell中的*类似

 

9.3 有类型变量

declare [option] var

选项名 意义
-r 变量设置为只读
-i 变量为整型
-a 变量为数组
-f 显示此脚本前定义过的所有函数名及内容
-F 仅显示此脚本前定义的函数名
-x 声明为环境变量

declare -x var=value

 

9.4 间接变量引用

variable1=variable2

variable2=value

类似于spring配置文件中的占位符,现在variable1的值肯定是variable2字符串,那么怎样获得variable的间接引用值呢?也就是说${variable1}肯定等于字符串variable2,那么怎样获取value这个字符串呢?

两种方式实现:

eval result=\$$variable1

result=${!variable1}

换个角度说明下:间接引用中,variable1其实是放的是最终值的地址指针而已。

 

9.5 bash数学运算

expr 100 \* 200

 

9.5.2 bc运算器

脚本中调用bc运算器的一般格式为:

variable=$(echo "options; expression" | bc)

#!/bin/bash

var1=20
var2=3.141592657
var3=`echo "scale=1; $var2 * 2 / 1" | bc`
echo "the semi... is $var3"

 

 本人博客已搬家,新地址为:http://yidao620c.github.io/

分享到:
评论

相关推荐

    Linux shell编程实战:输入输出重定向与变量操作

    内容概要:本文详细介绍了Linux shell脚本编程中的几个核心知识点,包括输入输出重定向、Shell变量操作、基本的Shell编程技巧以及简单的算术运算方法。每个知识点都有详细的命令演示和具体的应用实例,帮助读者更好...

    Linux Shell脚本系列教程(三):变量和环境变量.docx

    Linux Shell 脚本系列教程(三):变量和环境变量 本文主要讲解了 Linux Shell 脚本系列教程(三):变量和环境变量,涵盖了普通变量、环境变量、获取字符串的长度等内容。 变量 在 Linux Shell 脚本中,变量是必...

    linux运维学习笔记:Shell变量的数值运算.pdf

    本文将详细介绍Shell变量的数值运算方法以及相关知识点。 首先,Shell变量进行数值运算时,常见的命令有:双括号(( ))、let、expr、bc以及$[]。其中,bc命令除了能够处理整数,还能处理小数运算,其他命令则通常...

    linux-shell脚本命令:awk命令简介

    最后,awb命令的使用示例可以帮助我们更好地理解awk的具体用法。例如,通过-F参数可以指定分隔符,然后使用print命令输出指定的字段。如果要指定输出格式,则可以修改OFS变量。利用NR和FNR变量,我们可以判断awk正在...

    linux shell命令sed的使用方法

    linux shell命令sed的使用方法

    linux shell命令tr的用法

    linux shell命令tr的用法

    linux中shell变量.pdf

    下面我们将详细解释 Linux Shell 变量的概念和使用方法。 一、shell 变量的概念 Shell 变量是 Linux Shell 中的一种特殊变量,它们可以存储和输出信息。Shell 变量可以分为两种:预定义变量和用户定义变量。预定义...

    Linux-shell脚本全面学习.pdf

    * 赋值给一个变量的方法: `a="hello world"` * 使用花括号来告诉 shell 我们要打印的是哪个变量: `echo "this is the ${num}nd"` 1.1.4 环境变量 * 环境变量是由 `export` 关键字处理过的变量 * 通常情况下仅仅...

    Linux Shell高级技巧实战总结

    Linux Shell高级技巧实战总结 一、将输入信息转换为大写字符后再进行条件判断 二、为调试信息设置输出级别 三、判断参数是否为数字 四、判断整数变量的奇偶性 五、将Shell命令赋值给指定变量,以保证脚本的移植性 六...

    Linux之Shell的变量设置.doc

    Linux Shell 变量设置是一种非常重要的技术,在 Linux 中,每个用户登录系统之后都会有一个属于自己的 bash shell,每个人都能够使用 bash 执行命令来收取自己的邮箱,但是 bash 是如何知道你的邮箱是哪个文件?...

    linux超级基础系列-shell变量(本地变量和环境变量)

    ### Linux超级基础系列——Shell变量(本地变量与环境变量) #### 一、Shell与Shell变量简介 在Linux操作系统中,Shell是一种用户与操作系统交互的重要工具,它可以解释用户的命令,并将其传递给内核或其他应用...

    linux shell 编程中select 命令的用法

    在Linux Shell编程中,`select`命令是一种非常实用的交互式菜单构建工具,它源自于Korn Shell(ksh),并被广泛应用于bash等其他Shell环境中。`select`命令允许用户从一系列选项中进行选择,这在创建用户友好的脚本...

    linux实验六 shell变量

    ### Linux实验六 Shell变量知识点详解 #### 一、实验目的 1. **熟悉Shell变量**: - Shell变量是Shell编程中的基本概念之一,用于存储数据。这些数据可以是文件名、数字或文本字符串。 - 变量分为两种类型:用户...

    在Linux中用批处理设置环境变量的方法

    Linux操作系统是众多IT专业人员工作中的重要平台之一,环境变量作为Linux系统中一个非常重要的概念,它被用于定义系统运行环境的动态属性,诸如系统路径、系统变量等,这些属性会影响到应用程序的运行。在Linux中...

    linux shell 视频教学

    接下来,视频可能会讲解Shell变量和环境变量的使用,它们用于存储数据并在不同命令间传递。例如,PATH环境变量指定了系统查找可执行文件的路径。学习如何设置、读取和修改这些变量是编写Shell脚本的关键。 条件语句...

    新版Linux Shell编程实训(全)20170518.docx

    2. **Shell变量**:这一部分深入讲解Linux环境变量的查看和Shell变量的定义、使用、只读设置以及删除。同时,介绍了一些特殊符号在Shell编程中的应用,并提供了一个展示系统信息的Shell案例。 3. **Shell传递参数**...

    linux shell编程手册

    2. **Shell变量**:Shell允许定义和使用变量来存储数据,如环境变量(如`PATH`,`HOME`),位置参数($1, $2...),特殊变量(如`$#`表示参数个数,`$*`表示所有参数)等。理解变量的声明、赋值及使用规则至关重要。...

    shell变量与创建子shell详解

    Shell变量导出的用法对于管理和维护环境变量至关重要。如果需要在脚本中使用的变量,应确保在调用子Shell之前导出这些变量。例如,在父Shell中定义一个名为"name"的变量,并在一个Shell脚本中访问它。如果没有在父...

    Linux shell 详细教程

    **Linux Shell 详细教程** Linux Shell,作为操作系统与用户交互的主要接口,是Linux系统中不可或缺的一部分。它不仅是一个命令行解释器,同时也是一种强大的编程语言,允许用户通过编写脚本执行自动化任务。本教程...

    linux超级基础系列——shell变量(本地变量和环境变量)[参考].pdf

    本文将对 Shell 变量进行详细的介绍,包括什么是 Shell 变量、如何使用本地变量和环境变量、变量的设置、显示和清除方法等。 1. 什么是 Shell 变量? Shell 变量是存储设备中的一些可读写的存储单元。变量可以定制...

Global site tag (gtag.js) - Google Analytics