
shell中单引号双引号反引号的区别
发布日期:2021-05-07 18:06:16
浏览次数:24
分类:精选文章
本文共 721 字,大约阅读时间需要 2 分钟。
Shell引号与IFS解析
引号类型对比
在Shell中,引号分为三种:反引号、单引号和双引号,它们在处理字符串和变量时有明显差异。
反引号(`):反引号允许你嵌入命令并执行。Shell会将反引号内的命令解析并输出结果。例如:
echo `ls -la`
会显示当前目录下的文件列表。
单引号('):单引号保留字符串的原始状态,不会解析任何变量或命令。例如:
echo 'Hello World'
会直接输出
Hello World
。双引号(""):双引号会解析变量和命令。例如:
echo "My $PATH"
会显示当前用户的环境路径。
IFS(内部域分隔符)
IFS(Internal Field Separator)是Shell的一个特殊变量,用于定义单词分隔符。默认情况下,IFS包含空格、Tab和换行符。
IFS的作用
- 单词分割:IFS决定了Shell如何将输入拆分为单词。默认值下,空格、Tab和换行符作为分隔符。
- 命令执行:IFS在
read
命令和参数扩展中很常见。例如:read -p "请输入密码: " password
这里的
-p
选项使用IFS来处理输入。
IFS的默认值
默认IFS包含以下字符:
- 空格(
)
- Tab
- 换行符(\n)
示例
查看当前IFS设置:
echo $IFS
调整IFS
可以根据需要修改IFS:
IFS=$'\t\n '
这会将Tab、换行符和空格作为分隔符。
常用变量
- $#:表示脚本参数的数量。
- *$ 和 $@**:都用于处理参数,但在双引号时有差异。
$*
:将所有参数当作单个字符串处理。$@
:保留每个参数的原始形式。
通过理解这些Shell特性,你可以更高效地处理命令行参数和文件列表。
发表评论
最新留言
不错!
[***.144.177.141]2025年04月20日 19时38分51秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
AndroidStudio跳到错误位置
2019-03-07
木马开发的基本理论基础(五)
2019-03-07
openssl服务器证书操作
2019-03-07
expect 模拟交互 ftp 上传文件到指定目录下
2019-03-07
linux系统下双屏显示
2019-03-07
PDF.js —— vue项目中使用pdf.js显示pdf文件(流)
2019-03-07
我用wxPython搭建GUI量化系统之最小架构的运行
2019-03-07
我用wxPython搭建GUI量化系统之Sizer布局管理与页面切换
2019-03-07
我用wxPython搭建GUI量化系统之多只股票走势对比界面
2019-03-07
我用wxPython搭建GUI量化系统之财务选股工具添加日历和排序
2019-03-07
selenium+python之切换窗口
2019-03-07
重载和重写的区别:
2019-03-07
搭建Vue项目步骤
2019-03-07
linux 编译出现的错误
2019-03-07
账号转账演示事务
2019-03-07
idea创建工程时错误提醒的是architectCatalog=internal
2019-03-07
SpringBoot找不到@EnableRety注解
2019-03-07
简易计算器案例
2019-03-07
在Vue中使用样式——使用内联样式
2019-03-07