Shell 多种引号的区别(““、‘‘、``、$())

简介: Shell 多种引号的区别(““、‘‘、``、$())
  • 区分三种定界符
  • "":双引号,允许扩展,以 $ 引用其他变量。
  • '':单引号,禁用扩展,即便 $ 也视为普通字符。
  • ``:反引号,将命令的执行输出作为变量值,$()与反引号效果基本一致,只能放命令,
  • 但是两者还是有区别的:反引号本身就对 \ 进行了转义,想在反引号中起到 \ 的特殊意义,必须使用 2\ 来进行表示(例如:\\ = \),$() 中则不需要考虑 \ 的问题,与平常使用的一样:\ = \
  • 举例
// "" 使用
$ echo "$USER id is $UID"
dzm id is 501
// '' 使用
$ echo '$USER id is $UID'
$USER id is $UID
// `` 使用
$ test=`ls -l`
$ echo $test
total 48
drwxr-xr-x@ 39 dzm  staff   1248 12 29 11:32 GitHub
drwxr-xr-x@  7 dzm  staff    224 11 29 09:46 MaYun
// $() 使用,与 `` 完全等值
$ test=$(ls -l)
$ echo $test
total 48
drwxr-xr-x@ 39 dzm  staff   1248 12 29 11:32 GitHub
drwxr-xr-x@  7 dzm  staff    224 11 29 09:46 MaYun


相关文章
|
Linux Shell 文件存储
【Linux技术专题】「夯实基本功系列」带你一同学习和实践操作Linux服务器必学的Shell指令(深入df和dh的区别和探索)
【Linux技术专题】「夯实基本功系列」带你一同学习和实践操作Linux服务器必学的Shell指令(深入df和dh的区别和探索)
350 1
shell脚本变量 $name ${name}啥区别
shell脚本变量 $name ${name}啥区别
|
12月前
|
Shell Docker 容器
使用exec模式与shell模式,执行ENTRYPOINT和CMD的区别
结合 `exec`与 `shell`模式,`ENTRYPOINT`与 `CMD`在Docker容器启动时的交互方式展现出不同的特点。选择哪种模式,取决于对执行环境的纯净度、性能需求以及是否需要利用shell特性。理解这些细微差别,有助于更精细地控制容器的行为,优化应用部署与管理流程。
280 0
|
12月前
|
JSON Java Shell
Dockerfile中RUN、CMD、ENTRYPOINT、SHELL命令的区别
理解这些指令的差异和应用场景,有助于构建高效、灵活且易于管理的Docker镜像。在实际应用中,根据需要选择合适的指令,可以有效地控制镜像构建和容器运行的行为。
659 0
|
资源调度 网络协议 Shell
在Linux中,Linux内核和Shell有何区别?
在Linux中,Linux内核和Shell有何区别?
|
Shell Linux
Linux环境变量之shell中export定义全局变量和echo 变量的区别
Linux环境变量之shell中export定义全局变量和echo 变量的区别
|
Shell
shell 单引号和双引号区别
shell 单引号和双引号区别
107 0
|
存储 Shell 索引
Shell 数组使用( 及 @ 跟 * 的区别)
Shell 数组使用( 及 @ 跟 * 的区别)
280 0
|
存储 Shell
Shell 变量使用(环境变量、预定义变量、位置变量、自定义变量的区别)
Shell 变量使用(环境变量、预定义变量、位置变量、自定义变量的区别)
287 0
|
Shell iOS开发
iOS 逆向编程(十)sh脚本(shell)编写与执行指令区别
iOS 逆向编程(十)sh脚本(shell)编写与执行指令区别
408 0