bash语法规则--你不可不知道的基础
bash的语法规则
第一 使用元字符
元字符是对shell有特殊意义的字符.下表列出了对bash有特殊意义的元字符.
字符----类------------------------对bash的意义
$ 通用 标识一个变量
# 通用 开始一条注释
#! shell脚本 声明哪个命令解释器用于运行脚本
. shell脚本 执行(通过source)一个脚本而不派生subshell
* 通配符 匹配一个或多个字符
? 通配符 匹配一个字符
& 作业控制 在后台运行一个命令
> 作业控制 重定向标准输出
< 作业控制 重定向标准输入
>> 作业控制 重定向并附接标准输出
2> 作业控制 重定向标准错误
| 作业控制 管道传送一条命令的输出到另一条命令
"" 引号 在文本串中包含空格
'' 引号 不解释字条串中的变量或元字符
`` 引号 将命令的结果用作变量中的值
\ 转义符 使bash不解释元字符
-------------重点介绍------------
双引号 ( " )
单引号 ( ' )
反引号 ( ` ) 位置在Esc键下方的 (~)
反斜杠 ( \ )
-------------------------
1.1 双引号---将带空格的文本串包含在双引号里,这样bash将解释整个字符串,如下例
$ export suspects="Miss Scarlet Professor Plum"
$ echo $suspects
输出: Miss Scarlet Professor Plum
再看一下不带双引号的例子
$ export suspects=Miss Scarlet Professor Plum
$ echo $suspects
输出: Miss
1.2 单引号---当不想让bash解释并扩展变量名或保留字符,如($) 和反斜杠(\)时,使用单引号 看下例
使用双引号的情况
$ echo "$USER is" $USER
输出: root is root
使用单引号的情况
$ echo '$USER is' $USER
输出: $USER is root
现在大家应该明白单引号的作用了吗那么考下面的例子的输出情况
$ echo '\n'
$ echo '$$'
1.3 使用反引号在变量中保存命令的结果
使用反引号字符括住一条命令,反引号将命令的输出保存到一个变量里.例如如果要在member数据库里查找Emily的全名,可以使用grep命令白手搜索.将grep命令用反引号括住,bash将保存grep搜索的结果到下列变量中
$ export prime_suspect=`grep Emily member`
$ echo $prime_suspect
输出 Miss Scarlet Emily
强调:反引号将命令的输出保存到一个变量里
1.4 反斜杠 如果想输出元字符或者是一些保留字,可以在这些元字符或者是保留字之前加\,bash将不解释\之后的元字符或者保留字,而是直接输出,看下例
$ export id_var=Miss\$scarlet
$ echo $id_var
输出 Miss$scarlet
1.4.1使用反斜杠修饰脚本的输出
学过编程的同志应该可以理解这些通用的反斜杠字条及其功能
反斜杠字符--------------------功能-------------
\a 振铃(报警声)
\b 显示一个退格
\n 插入一个换行(新行)
\c 略去结尾的换行(新行)
\r 插入一个回车
\t 插入一个tab
----------------------------------------------
第二 正确的使用空白
使用空白的两条规则
1.在一个if测试中包含空白
2.在变量定义中不要包含空白
看下例
$ if [ $id_var = "love" ] #在一个if测试中包含空白
$ id_var="love" #在变量定义中不要包含空白
第三 向脚本添加功能 (待续未完)
分享到:
相关推荐
Linux Bash是Unix和类Unix操作系统(如Linux)...理解并熟练运用这些Bash基本语法,你就能更高效地在Linux环境中工作,无论是日常操作还是编写自动化脚本,都将得心应手。持续学习和实践,你将成为Linux Shell的高手。
主要是bash语法的例程,在记录学习笔记的时候做练习用的。学习记录请参考:https://blog.csdn.net/xiaodouhao123456/article/details/109473083,及其所在专栏中的其他笔记。
由于Bash语法相对复杂,包含了变量、条件语句、循环、函数等多种结构,因此使用代码高亮对于理解和调试Bash脚本尤其有用。"highlight-bash-syntax"项目的目标就是提供一种方法,使Bash脚本在HTML页面中显示时,其...
### Bash教程—命令语法 #### 一、Bash简介与价值 **Bash**(Bourne Again SHell)是一种广泛使用的Unix shell和命令语言,由Brian Fox为...掌握Bash的基本语法和命令,对于提高工作效率、实现自动化运维至关重要。
首先,让我们从基础开始,了解Bash的基本概念。Bash是GNU项目的开源软件,由Chet Ramey维护。它继承了Unix早期的sh shell,并增加了许多功能,如历史记录、命令补全、过程控制等。Bash中的命令可以分为内置命令(如`...
Linux_theroy_bash、sh语法Linux_theroy_bash、sh语法Linux_theroy_bash、sh语法
该手册涵盖了 Bash shell 的所有方面,包括基本语法、shell 操作、变量、命令、函数、流程控制、文件描述符、输入/输出重定向等。 Bash 是一个 Unix shell 和命令行解释器,於 1989 年首次发布,由 Brian Fox 开发...
1. **基本语法**:变量、运算符、流程控制(if、for、while循环)、函数、条件测试等。 2. **输入/输出重定向**:如何改变命令的默认输入和输出,使用管道、重定向和 tee 命令。 3. **数组和关联数组**:Bash 4.0及...
Bash参考手册.pdf是Bash shell的官方参考手册,涵盖了Bash shell的所有方面,包括基本语法、变量、命令、函数、文件处理、流程控制、输入输出、错误处理等。 1. Bash简介 Bash是GNU项目的一部分,是自由软件基金会...
`bash.acp` 文件是EditPlus的语法规则配置文件,用于实现Bash语言的语法高亮显示。它定义了Bash关键字、变量、函数、注释等元素的色彩和样式。通过这个文件,EditPlus可以智能地识别并突出显示Bash脚本中的不同部分...
一个基本的Bash模板可能包括变量定义、函数声明、条件检查等元素。模板可以保存为.sh文件,然后在需要时执行。 **二、Bash Shell语法** 1. **变量**:在Bash中,变量用于存储数据。声明变量时无需指定类型,如`VAR...
Shellharden 是一个专为 Linux 用户设计的强大工具,其主要功能是高亮显示 Bash 脚本中的语法,提升代码可读性,并且提供变量引用的提示与修正功能,帮助开发者编写更加安全、可靠的 Bash 脚本。在 Linux 开发环境中...
### bash shell 基础编程语法 #### 一、bash shell 概述 **Shell**是一种用户与操作系统之间交互的接口。在用户登录系统后,`init`进程会为每位用户运行一个称为“shell”的程序。Linux下的shell并非只有单一形式...
linux shell教程,很不错,强烈推荐
了解这些基本语法对于编写有效的脚本至关重要。 2. 引用:通过使用不同的引用方式,可以控制文本字符串的解析和输出。例如,单引号表示字符串将被原样输出,而双引号则允许变量扩展和命令替换。 3. 评论:在 Bash ...
首先,bash shell是基于原始的Bourne shell(sh)进行改进和扩展的,它不仅保留了Bourne shell的基本语法,还引入了许多增强功能,如命令别名、历史记录、作业控制、shell函数等。在bash 4.2版本中,开发者可能已经...
了解Bash的基本语法、变量、控制结构和函数是入门的关键。 **2. Bash变量** Bash中的变量用于存储数据,包括字符串、数字和特殊变量(如$0表示脚本名,$#表示参数数量)。理解变量的声明、赋值以及如何使用环境变量...
1. **基本Shell特性**:这部分介绍了Bash的基本结构和操作,包括语法、命令执行、管道、列表、循环和条件语句等。这些是构建复杂脚本的基础,也是理解更高级功能的前提。 2. **Shell扩展**:这是Bash相较于其他shell...
在本文中,我们将深入探讨Shell的基本语法,包括变量、控制结构、函数、输入/输出重定向以及脚本编写。 首先,让我们从Shell变量开始。在Shell中,变量用于存储数据。你可以使用`=`符号来赋值,如`NAME="John"`。...