`

《Linux Shell》之五:变量和引用

阅读更多

变量本质上是存储数据的一个或多个计算机内存地址。

变量分为:本地变量、环境变量、位置参数。其中位置参数用于向shell脚本传递参数,是只读的。

unset var可将var变量清除掉

变量赋值两种特殊情形,使用的时候一定要用$符号和大括号括起来:

${variable:=value}  --> 对未赋值的variable,将value值赋给它

${variable:-value}   --> 对未赋值的variable,将value值赋给它,但value值不存储到variable对应的地址空间

${variable?value}用来测试变量是否被赋值

# readonly variable  --> 设置变量为只读的

 

6.1.2 无类型的Shell脚本变量

Shell脚本变量是无类型的,这与awk变量是一样的。

Bash不支持浮点型,只支持整形和字符型,默认情况下,bash脚本变量是字符型的,同时,字符型变量还有个整形值0.也就是说你拿字符型变量做数值运算,它的值其实是0

 

对于空字符串和未定义变量处理方式,shell变量默认就是字符型的,字符型的初始值为空,而且可以不预先定义变量而直接使用它,跟初始化定义它为""效果是一样的。

 

 >>几个环境变量配置文件

由于Linux环境变量数量较多,因此系统管理员不会利用export逐个设置环境变量,而是将export命令放置在特殊的配置文件中,Shell能够在开机的时候自动执行这些配置文件。

.bash_profile:

最最重要的配置文件,当某linux用户登录时,shell会自动执行.bash_profile文件,如果.bash_profile文件不存在,则自动执行系统默认的配置文件/etc/profile

修改此配置文件后要立即生效,请使用 source 或.  命令

.bashrc:

如果用户由当前shell创建一个新的子shell,子shell会尝试读取.bashrc中命令以设置环境变量。.bashrc使得用户登录时的环境变量与子shell环境变量相分离。

.bash_logout:

.bash_logout文件在用户注销时执行

 

6.1.4 位置参数

位置参数 positional parameters是一种特殊shell变量,用于从命令行向shell脚本传递参数,$1表示第1个参数、$2表示第2个参数等。$0表示脚本名称(带路径) ,$* 或 $@表示从$1开始的全部参数列表

-----------------特殊变量-----------------------

$#  传递到脚本的参数数量

$*或$@ 传递到脚本的所有参数

$$  脚本运行的进程号

$? 命令的退出状态,0表示没有错误,非0表示有错误

 

引用符号及其意义:

""  引用除$、反引号、反斜杠\之外的所有字符

''   引用所有的字符

反引号  shell将反引号中内容解释为系统命令

\    转义符,屏蔽下一个字符的特殊意义

 

6.2.3  转义字符

特殊字符及其意义

特殊字符 意义
& 传递到脚本的参数数量
* 0个或多个在*字符前的那个普通字符
+ 匹配1个或多个在其之前的普通字符
^ 匹配行首,或后面字符的非
$ 命令退出状态,0表示没错误,非0...
` 反引号,shell引用符号,解析命令
" 双引用,shell引用符号
| 管道符号或表示“或”意义
? 匹配0个或1个其前的普通字符
\ 转义符本身

 

转义符后跟字母表示的特殊意义:

符号 意义
\n 换行
\r 回车
\t Tab键
\v或\f 换行但光标停留在原来位置
\b Backspace键
\a 警报声
\0xx ASCII码0xx对应字符

 

# echo $'\t\thello'

使用$' '后,单引号里面的转义加特殊字母就可以解析成特殊意义了。

其他情况下就是原始值了。

 

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

分享到:
评论

相关推荐

    linux运维学习笔记:Shell变量.pdf

    通过上述内容,我们了解到Linux Shell变量在日常运维中的重要性,以及如何在脚本中正确使用和管理变量,以提高脚本的可读性和可维护性。掌握这些知识对于成为一名合格的Linux运维工程师至关重要。

    shell浅谈之一 变量和引用

    本文将深入探讨shell脚本中的变量和引用。 一、变量基础 1. 变量分类: - 本地变量:仅在当前shell会话有效,当shell进程结束时失效。 - 环境变量:对所有由登录进程产生的子进程都有效。 - 位置参数:传递给...

    shell编程基础之变量

    了解并熟练掌握这些基本的Shell变量知识,对于编写高效、可靠的Shell脚本至关重要。通过结合条件语句、循环结构和其他Shell特性,你可以创建出功能强大的自动化工具,提高日常Linux系统管理的效率。在实际应用中,...

    linux实验六 shell变量

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

    Linux shell编程

    在本文中,我们将深入探讨Linux Shell的基本概念、Shell编程基础、输出和输入、运算符以及Shell脚本文件的创建和使用。 首先,让我们了解一下**Shell的基本概念**。Shell是Linux系统中的一个命令解释器,它为用户...

    Linuxshell编写demo

    在IT行业中,Linux Shell编程是系统管理员和开发者必备的技能之一。它允许用户通过命令行接口与操作系统进行交互,执行自动化任务,大大提高工作效率。本文将深入探讨Linux Shell编写的基础知识,包括基本概念、常用...

    Linux教程:第4章 Linux shell程序设计.ppt

    * 使用“${”和“}”符号来引用变量 * 使用“$()”符号来引用变量 bash 中的控制语句: * if 语句 * case 语句 * while 语句 * for 语句 bash 中的算术运算: * 使用“$”符号来表示算术运算 * 使用“(())”符号...

    Linux常用命令和管理07-shell之脚本编程变量和变量类型1

    本文将深入讲解Linux shell脚本中的变量和变量类型,以及相关的编程概念。 首先,回顾一下Vim编辑器的基本操作。Vim分为不同的模式:输入模式、编辑模式、末行模式和可视化模式。在编辑模式下,可以通过i/I/a/A/o/O...

    Linux Shell 脚本攻略

    - **变量引用**:始终使用双引号括起变量,防止因特殊字符引起的错误。 9. **正则表达式和grep命令** - **正则表达式**:用于模式匹配和数据提取。 - **grep命令**:搜索含有指定模式的行,常与管道配合使用。 ...

    LinuxShell脚本编写PPT课件.pptx

    在Linux Shell脚本里,字符串‘’和””表示不同的含义,最大区别就是在于对变量引用的处理。单引号‘’包括之中表示字符串,如果字符串包含保留字符,则保留字符失效,按原样输出。双引号“”包括之中表示字符串,...

    Linux Shell编程.

    ##### **2.3 变量引用** 通过 `${variable_name}` 的形式引用变量,例如: ```bash greeting="Hello" name="Alice" echo "$greeting, $name!" ``` ##### **2.4 交互输入变量值** 使用 `read` 命令从标准输入读取...

    Linux shell脚本的补充

    在Linux环境中,shell脚本是一种强大的自动化工具,用于执行一系列命令和操作。本文将深入讲解Linux shell脚本的几个核心知识点,包括Shebang、变量、作用域、特殊参数变量、状态变量、内置命令、字符串操作以及文件...

    《Linux shell脚本全面学习》pdf版电子书

    ### Linux Shell脚本全面学习知识点概述 #### 一、Linux脚本编写基础 **1.1 语法基本介绍** **1.1.1 开头** - **解释**: 每个Shell脚本都需要以 `#!/bin/sh` 开始,这行被称为shebang,用于指示系统如何执行此...

    linux shell 脚本入门

    Linux Shell脚本是Linux系统中用于自动化任务的强大工具,它基于Bash或其他Shell解释器,允许用户编写一系列命令,以实现批处理、任务调度或任何需要自动化的工作流程。本PDF文档"shell-script-entry.pdf"提供了18页...

    16.linux8.0-shell脚本.pdf

    变量是shell脚本中非常重要的概念,变量可以存储可能会变化的值,提高脚本对任务的需求和运行环境的适应能力。 定义变量:变量名=变量值 相关注意事项: 1.若指定的变量名已经存在,相当于为此变量重新赋值。 2....

    Linux Shell 参考文档

    2. 变量:在Shell脚本中定义变量,如`name="John"`,然后在脚本中可以引用这个变量。 3. 条件语句:`if`、`else`、`elif`用于条件判断,如`if [ -f "$file" ]; then ... fi`检查文件是否存在。 4. 循环结构:`for`、...

    Linux shell编程文档

    - **变量引用**:为了避免Shell解析错误,可以使用大括号明确指定变量引用,例如`echo "this is the ${num}nd"`。 #### 三、Shell命令和流程控制 Shell脚本支持多种类型的命令: 1. **Unix命令**:这些命令用于...

    Linux Shell编程基础

    Linux Shell编程基础是掌握Linux系统管理和自动化任务执行的关键技能之一。本文主要介绍如何开始编写Shell脚本,如何处理注释,以及如何执行脚本。同时,我们还将深入探讨Bash中的各种变量,包括环境变量、位置变量...

    linux shell 编程1

    在学习和实践Linux Shell编程时,建议从简单的脚本开始,逐步增加复杂性。通过解决实际问题,你可以更好地理解和掌握Shell编程的精髓。此外,了解并熟练使用常见的Linux工具,如grep、awk、sed等,将使你的Shell编程...

Global site tag (gtag.js) - Google Analytics