shell脚本 |
您所在的位置:网站首页 › linux双引号转义符 › shell脚本 |
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中 一共有四种引用符 : 双引号: 又叫“部分引用”或“弱引用”,可以引用除$符、反引号、转义符之外的所有字符; 单引号: 又叫“全引用”或“强引用”,可以引用所有字符; 反引号: 会将反引号括起的内容解释为系统命令; 转义符: (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 |