(1)Shell定义的环境变量:
HOME 用于保存注册目录的完全路径名。
PATH 用于保存用冒号分隔的目录路径名,Shell将按PATH变量中给出的顺序搜索这些目录,找到的第一个与命令名称一致的可执行文件将被执行。
TERM 终端的类型。
UID 当前用户的识别字,取值是由数位构成的字串。
PWD 当前工作目录的绝对路径名,该变量的取值随cd命令的使用而变化。
PS1 主提示符,在特权用户下,默认的主提示符是#,在普通用户下,默认的主提示符是$。
PS2 在Shell接收用户输入命令的过程中,如果用户在输入行的末尾输入“”然后回车,或者当用户按回车键时Shell判断出用户输入的命令没有结束时,就显示这个辅助提示符,提示用户继续输入命令的其余部分,默认的辅助提示符是>。
(2)用户定义的变量:
用户可以按照下面的语法规则定义自己的变量:
变量名=变量值
要注意的一点是,在定义变量时,变量名前不应加符号$,在引用变量的内容时则应在变量名前加$;在给变量赋值时,等号两边一定不能留空格,若变量中本身就包含了空格,则整个字串都要用双引号括起来。
在编写Shell程序时,为了使变量名和命令名相区别,建议所有的变量名都用大写字母来表示。
有时我们想要在说明一个变量并对它设置为一个特定值后就不在改变它的值时,可以用下面的命令来保证一个变量的只读性:
readonly 变量名
在任何时候,创建的变量都只是当前Shell的局部变量,所以不能被Shell运行的其他命令或Shell程序所利用,而export命令可以将一个局部变量提供给Shell执行的其他命令使用,其格式为:
export 变量名
也可以在给变量赋值的同时使用export命令:
export 变量名=变量值
使用export说明的变量,在Shell以后运行的所有命令或程序中都可以访问到。
(3)位置参数:
位置参数是一种在调用Shell程序的命令行中按照各自的位置决定的变量,是在程序名之后输入的参数。位置参数之间用空格分隔,Shell取第一个位置参数替换程序文件中的$1,第二个替换$2,依次类推。$0是一个特殊的变量,它的内容是当前这个Shell程序的文件名,所以,$0不是一个位置参数,在显示当前所有的位置参数时是不包括$0的。
(4)预定义变量:
预定义变量和环境变量相类似,也是在Shell一开始时就定义了的变量。所不同的是,用户只能根据Shell的定义来使用这些变量,而不能重定义它。所有预定义变量都是由$符和另一个符号组成的,常用的Shell预定义变量有:
$# 位置参数的数量。
$* 所有位置参数的内容。
$? 命令执行后返回的状态。
$$ 当前进程的进程号。
$! 后台运行的最后一个进程号。
$0 当前执行的进程名。
其中,$?用于检查上一个命令执行是否正确。(在Linux中,命令退出状态为0表示该命令正确执行,任何非0值表示命令出错。)
$$变量最常见的用途是用做暂存文件的名字以保证暂存文件不会重复。
(5)参数置换的变量:
Shell提供了参数置换功能以便用户可以根据不同的条件来给变量赋不同的值。参数置换的变量有4种,这些变量通常与某一个位置参数相联系,根据指定的位置参数是否已经设置类决定变量的取值,它们的语法和功能分别如下。
a. 变量=${参数-word}:如果设置了参数,则用参数的值置换变量的值,否则用word置换。即这种变量的值等于某一个参数的值,如果该参数没有设置,则变量就等于word的值。
b. 变量=${参数=word}:如果设置了参数,则用参数的值置换变量的值,否则把变量设置成word,然后再用word替换参数的值。注意,位置参数不能用于这种方式,因为在Shell程序中不能为位置参数赋值。
c. 变量=${参数?word}:如果设置了参数,则用参数的值置换变量的值,否则就显示word并从Shell中退出,如果省略了word,则显示标准信息。这种变量要求一定等于某一个参数的值。如果该参数没有设置,就显示一个信息,然后退出,因此这种方式常用于出错指示。
d. 变量=${参数+word}:如果设置了参数,则用word置换变量,否则不进行置换。
所有这4种形式中的“参数”既可以是位置参数,也可以是另一个变量,只是用位置参数的情况比较多。
分享到:
相关推荐
### Shell基本语法详解 #### 一、合理使用注释 在Shell脚本中,注释是一种非常重要的元素,它能够帮助我们理解脚本的工作原理,同时也方便后续的维护与更新。注释通常以`#`符号开头,在此之后的内容会被Shell解释...
Shell是Linux和Unix系统中的一种命令解释器,它允许用户通过命令行与操作系统进行...熟悉Shell基本语法能极大地提高你在Linux环境中的工作效率。通过不断实践和学习,你可以编写出功能强大的Shell脚本来解决各种问题。
在"shell基本语法 (可下载示例代码)"的主题下,我们可以深入探讨以下核心知识点: 1. **Shell脚本基础**: - 脚本开头:一个Shell脚本通常以`#!/bin/bash`或`#!/bin/sh`开头,声明解释器类型。 - 变量:变量用于...
#### 一、Shell基本语法概览 **Shell** 是一种用于与计算机操作系统交互的脚本语言。它不仅提供了基础的命令行接口功能,还支持更复杂的编程逻辑,使得用户能够自动化任务处理流程。本文将重点介绍Shell编程的基本...
linux下的shell编程,本人从事linux下的工作多年,总结了一些经验,希望能够帮助新童鞋快速学习linux,快速掌握shell脚本,提高工作效率
Shell脚本基本语法详解 Shell脚本基本语法详解是指在编写Shell脚本时所需要了解和掌握的基本语法。下面是对Shell脚本基本语法的详细解释: 一、 Shell 变量 在Shell脚本中,变量的赋值和使用是非常重要的。Shell...
下面将详细介绍创建 Shell 脚本、Shell 基础语法、流程控制语法以及如何定义和使用 Shell 函数。 首先,让我们理解一下 Shell 编程的基础。Shell 是操作系统提供的一种命令解释器,用户通过 Shell 与操作系统进行...
Shell 的基本语法 Shell 是一个命令解释器,它在操作系统的最外层,负责直接与用户进行对话,把用户的输入解释给操作系统,并处理各种各样的操作系统的输出结果,输出到屏幕反馈给用户。这种对话方式可以是交互式...
介绍如何写shell脚本,shell脚本的组成,编写简单的shell脚本
#### 三、Shell 基本语法 ##### 3.1 变量的设置规则 - **变量与变量内容的连接**: - 变量与变量内容以一个等号 “=” 来连接。 - 等号两边不能直接接空格符。 - 变量名称只能由英文字母、下划线、数字组成,但...
Windows 命令行 Shell 命令是 Windows 操作系统中的一组基本命令,用于管理和维护计算机系统。这些命令可以帮助用户完成各种任务,例如管理文件和目录、配置系统设置、管理磁盘和文件系统、管理网络连接等。 ASSOC ...
**Bash Shell基本语法** 1. **变量**:在Shell中,可以定义和使用变量来存储数据。例如,`name="John"`,然后通过`echo $name`来打印变量的值。 2. **命令行参数**:在脚本中,可以通过$0到$9来访问命令行参数,其中...
二、Shell基本语法 1. 命令行界面:了解如何在终端中输入命令,包括命令行参数、重定向、管道等。 2. 变量与环境变量:学习定义、赋值、使用变量,以及管理系统级别的环境变量。 3. 条件表达式和流程控制:掌握if、...
二、Shell基本语法 1. 命令行参数:在Shell中,每个命令后面可以跟一个或多个参数,用于指定命令的行为。 2. 输入/输出重定向:使用`>`和`符号可以重定向命令的输出或输入到文件中。 3. 管道:`|`符号用于连接两个...
**二、Shell基本语法** 1. **变量**:Shell中的变量用于存储数据,如路径、文件名或用户输入。变量可以通过赋值操作创建,例如`NAME="John Doe"`。 2. **命令行参数**:在脚本中,可以使用特殊变量 `$0` 至 `$9` 来...
在这个主题中,我们将深入探讨shell编程的基本语法和实用实例。 1. **基本结构** Shell脚本通常以`#!/bin/bash`作为首行,指定使用bash shell解释器来执行脚本。这被称为“shebang”或“hash-bang”。 2. **变量*...
**Bash Shell基本语法:** 1. **命令行参数**:命令通常由程序名和参数组成,参数可以是文件名或其他选项,例如`ls -l`用来列出目录中的文件详情。 2. **变量**:Shell支持用户定义变量,如`NAME="John"`,然后可以...
#### 一、Shell基本语法与变量引用 **1. 变量声明与引用** - **1.1** `$`符号用于表示变量值:例如,如果变量名为 `NAME` 并且赋值为 `Mike`,则通过 `$NAME` 可以获取到值 `Mike`。 - **1.2** `#` 符号在 Shell ...
#### 四、Shell 基本语法 Shell 程序设计的基础在于理解和使用变量、环境变量、位置参数和预定义变量。 ##### 1. Shell 定义的环境变量 - **HOME**:存储用户的家目录路径。 - **PATH**:列出一系列目录路径,Shell...