shell脚本

您所在的位置:网站首页 linux双引号转义符 shell脚本

shell脚本

2023-11-21 19:55| 来源: 网络整理| 查看: 265

shell编程基础(学习shell脚本笔记) 转义和引用

文章目录 shell编程基础(学习shell脚本笔记) 转义和引用1.转义2.引用(1).部分引用(2).全引用 3.命令替换

1.转义

​ 转义是指使用转义符引用单个字符,从而使其表达单纯的字符的字面含义。

shell中的转义符为"\\".

#试图打印“$Dollar”字符串的错误演示 [root@localhost ~]# echo $Dollar ---> 此处打印为空,因为Shell尝试打印出变量Dollar的值,但是这个变量并没有声明,所以打印空行 #使用转义字符转义$字符 [root@localhost ~]# echo \$Dollar $Dollar #更多的例子 #打印乘号。如果不用转义符转义*号,则*号会作为一般的通配符使用,结果是将工作目录中的 所有目录和文件名替换它 [root@localhost ~]# echo 8 \* 8 =64 8 * 8 =64 #句子中含有引号。如果不用转义符转义'单引号,则Shell会等待出现另一个单引号才能结束echo进程 [root@localhost ~]# echo john\'s cat john's cat

​ shell中的特殊含义的字符:

shell中的特殊含义的字符

2.引用

引用是指将字符串用某种符号括起来,以防止特殊字符被解析为其他意思。

shell中 一共有四种引用符 :

​ 双引号: 又叫“部分引用”或“弱引用”,可以引用除$符、反引号、转义符之外的所有字符;

​ 单引号: 又叫“全引用”或“强引用”,可以引用所有字符;

​ 反引号: 会将反引号括起的内容解释为系统命令;

​ 转义符:

(1).部分引用

​ 部分引用是指用双引号括起来的引用。在这种引用方式中,$符、反引号(`)、转义符(\)这3种特殊字符依然会被解析为特殊意义。

#声明变量VAR03,并用echo打印出来。第一次直接打印,第二次用引号括起来,从输出内容看好像没什么区别 [root@localhost ~]# VAR03=100 [root@localhost ~]# echo $VAR03 100 [root@localhost ~]# echo "$VAR03" 100 #声明变量VAR03,内容为字符串,ABC之间有多个空格 [root@localhost ~]# VAR04="A B C" #直接打印变量时,输出内容只保留了每个字母间一个空格 [root@localhost ~]# echo $VAR04 A B C #使用引号括起的输出内容和变量定义时的内容是完全一致的 [root@localhost ~]# echo "$VAR04" A B C (2).全引用

​ 全引用是指用单引号括起来的引用。

[root@localhost ~]# echo '$VAR03' $VAR03 [root@localhost ~]# echo '$VAR04' $VAR04 3.命令替换

​ 命令替换是指将命令的标准输出作为值赋给某个变量。

​ 比如,在某个目录中输入ls命令可查看当前目录中所有的文件,但如何将输出存入某个变量中呢?这就需要使用命令替换了,这也是Shell编程中使用非常频繁的功能。

​ shell中有两种方式可以完成命令替换:

[root@localhost ~]# `命令` 或 [root@localhost ~]# $(命令)

注意:$()支持嵌套,而反引号不行;$()仅在Bash Shell中有效,而反引号可在多种UNIX Shell中使用。

​ 下例使用两层嵌套:

[root@localhost ~]# Fir_File_Lines=$(wc-l $(ls | sed-n '1p')) [root@localhost ~]# echo $Fir_File_Lines 36 anaconda-ks.cfg


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3