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脚本编程中的几个核心知识点,包括输入输出重定向、Shell变量操作、基本的Shell编程技巧以及简单的算术运算方法。每个知识点都有详细的命令演示和具体的应用实例,帮助读者更好...
Linux Shell 脚本系列教程(三):变量和环境变量 本文主要讲解了 Linux Shell 脚本系列教程(三):变量和环境变量,涵盖了普通变量、环境变量、获取字符串的长度等内容。 变量 在 Linux Shell 脚本中,变量是必...
本文将详细介绍Shell变量的数值运算方法以及相关知识点。 首先,Shell变量进行数值运算时,常见的命令有:双括号(( ))、let、expr、bc以及$[]。其中,bc命令除了能够处理整数,还能处理小数运算,其他命令则通常...
最后,awb命令的使用示例可以帮助我们更好地理解awk的具体用法。例如,通过-F参数可以指定分隔符,然后使用print命令输出指定的字段。如果要指定输出格式,则可以修改OFS变量。利用NR和FNR变量,我们可以判断awk正在...
linux shell命令sed的使用方法
linux shell命令tr的用法
下面我们将详细解释 Linux Shell 变量的概念和使用方法。 一、shell 变量的概念 Shell 变量是 Linux Shell 中的一种特殊变量,它们可以存储和输出信息。Shell 变量可以分为两种:预定义变量和用户定义变量。预定义...
* 赋值给一个变量的方法: `a="hello world"` * 使用花括号来告诉 shell 我们要打印的是哪个变量: `echo "this is the ${num}nd"` 1.1.4 环境变量 * 环境变量是由 `export` 关键字处理过的变量 * 通常情况下仅仅...
Linux Shell高级技巧实战总结 一、将输入信息转换为大写字符后再进行条件判断 二、为调试信息设置输出级别 三、判断参数是否为数字 四、判断整数变量的奇偶性 五、将Shell命令赋值给指定变量,以保证脚本的移植性 六...
Linux Shell 变量设置是一种非常重要的技术,在 Linux 中,每个用户登录系统之后都会有一个属于自己的 bash shell,每个人都能够使用 bash 执行命令来收取自己的邮箱,但是 bash 是如何知道你的邮箱是哪个文件?...
### Linux超级基础系列——Shell变量(本地变量与环境变量) #### 一、Shell与Shell变量简介 在Linux操作系统中,Shell是一种用户与操作系统交互的重要工具,它可以解释用户的命令,并将其传递给内核或其他应用...
在Linux Shell编程中,`select`命令是一种非常实用的交互式菜单构建工具,它源自于Korn Shell(ksh),并被广泛应用于bash等其他Shell环境中。`select`命令允许用户从一系列选项中进行选择,这在创建用户友好的脚本...
### Linux实验六 Shell变量知识点详解 #### 一、实验目的 1. **熟悉Shell变量**: - Shell变量是Shell编程中的基本概念之一,用于存储数据。这些数据可以是文件名、数字或文本字符串。 - 变量分为两种类型:用户...
Linux操作系统是众多IT专业人员工作中的重要平台之一,环境变量作为Linux系统中一个非常重要的概念,它被用于定义系统运行环境的动态属性,诸如系统路径、系统变量等,这些属性会影响到应用程序的运行。在Linux中...
接下来,视频可能会讲解Shell变量和环境变量的使用,它们用于存储数据并在不同命令间传递。例如,PATH环境变量指定了系统查找可执行文件的路径。学习如何设置、读取和修改这些变量是编写Shell脚本的关键。 条件语句...
2. **Shell变量**:这一部分深入讲解Linux环境变量的查看和Shell变量的定义、使用、只读设置以及删除。同时,介绍了一些特殊符号在Shell编程中的应用,并提供了一个展示系统信息的Shell案例。 3. **Shell传递参数**...
2. **Shell变量**:Shell允许定义和使用变量来存储数据,如环境变量(如`PATH`,`HOME`),位置参数($1, $2...),特殊变量(如`$#`表示参数个数,`$*`表示所有参数)等。理解变量的声明、赋值及使用规则至关重要。...
Shell变量导出的用法对于管理和维护环境变量至关重要。如果需要在脚本中使用的变量,应确保在调用子Shell之前导出这些变量。例如,在父Shell中定义一个名为"name"的变量,并在一个Shell脚本中访问它。如果没有在父...
**Linux Shell 详细教程** Linux Shell,作为操作系统与用户交互的主要接口,是Linux系统中不可或缺的一部分。它不仅是一个命令行解释器,同时也是一种强大的编程语言,允许用户通过编写脚本执行自动化任务。本教程...
本文将对 Shell 变量进行详细的介绍,包括什么是 Shell 变量、如何使用本地变量和环境变量、变量的设置、显示和清除方法等。 1. 什么是 Shell 变量? Shell 变量是存储设备中的一些可读写的存储单元。变量可以定制...