美文网首页
Linux: 引号的使用

Linux: 引号的使用

作者: LET149 | 来源:发表于2023-10-08 10:53 被阅读0次

各种不同的引号在shell中具有不同的作用

1. 双引号
(base) [zhiyong@malab Learn]$ echo "a b c"  #引号中的内容是一个整体,将被整体输出
a b c

(base) [zhiyong@malab Learn]$ test=123
(base) [zhiyong@malab Learn]$ echo "数字是:$test"  #虽然处在双引号内部,对变量的提取依然可以执行,$依然被理解为特殊字符
数字是:123

双引号表示引号中的内容为一个整体,不会仅把引号中的内容当成完全的字符串,双引号内部的特殊符号依然可以执行其原始功能

2. 单引号
(base) [zhiyong@malab Learn]$ aa="abcd"  #定义一个变量并赋值

(base) [zhiyong@malab Learn]$ echo $aa  #提出变量内容并输出到标准输出
abcd

(base) [zhiyong@malab Learn]$ echo "$aa"  #效果与不使用引号相同
abcd

(base) [zhiyong@malab Learn]$ echo '$aa'  #使用了单引号以后,引号中特殊字符的含义被屏蔽
$aa

(base) [zhiyong@malab Learn]$ echo \$aa  #反斜杠也能使后面的特殊字符含义被屏蔽
$aa
3. 反引号
(base) [zhiyong@malab Learn]$ aa=`cat kk.sh|grep "echo"`   #提取反引号中的运算结果并将其赋值给aa

(base) [zhiyong@malab Learn]$ echo $aa  #打印aa的内容
echo "hello world!" echo -e "\033[9mhello world!\e[0m" echo -e "\e[5mhello world!\e[0m" echo -e "\033[96mhelllo world!\033[0m" echo -e "\e[9mhello world!\033[0m"

(base) [zhiyong@malab Learn]$ bb=`date +%y%m%d`  #运行获取时间日期命令并将其改变格式,结果赋值给bb

(base) [zhiyong@malab Learn]$ echo $bb  #打印bb内容
201206
  • 反引号的作用是提取反引号中的最终输出结果
  • 反引号不支持嵌套使用,也就是不能在反引号中再使用反引号
5. $()

这也是一种提取运算结果的方式,但这种方式可以使用嵌套格式

(base) [zhiyong@malab Learn]$ echo $(pstree|grep "sshd")  #提取并输出括号中运算的最终结果
|-sshd-+-3*[sshd---sshd---sftp-server] | |-2*[sshd---sshd---bash] | |-sshd---sshd---bash-+-3*[awk] 

(base) [zhiyong@malab Learn]$ echo $(echo $(pstree|grep "sshd")|grep "bash")  #使用嵌套格式,利用两级嵌套的方式来提取某些运算的结果
|-sshd-+-3*[sshd---sshd---sftp-server] | |-2*[sshd---sshd---bash]
(base) [zhiyong@malab Learn]$ touch $(date +%y%m%d).tar   #利用$()的方式提取某些命令运算结果,并创建文件

相关文章

网友评论

      本文标题:Linux: 引号的使用

      本文链接:https://www.haomeiwen.com/subject/lqbowktx.html