UNIX 环境下 Shell 变量与路径的深度解析
1. 单双引号的区别
在处理命令行时,单引号和双引号有着不同的作用。双引号可以让 shell 将整个被引用的字符串视为一个单词,从而绕过部分处理过程。例如,命令 echo “$fred” 会输出特定内容:
Four spaces between these words.
当处理包含用户输入或文件输入的变量时,单双引号的区别尤为重要。一般来说,若字符串包含变量,应使用双引号;若不确定,可优先使用单引号。
2. 内置变量
2.1 编辑模式变量
编辑模式变量与命令行编辑模式相关,以下是一些常见的编辑模式变量及其含义:
| 变量 | 含义 |
| — | — |
| HISTCMD | 当前命令的历史编号 |
| HISTCONTROL | 以冒号分隔的模式列表,可包含 ignorespace(以空格开头的命令不进入历史列表)、ignoredups(与上一条历史记录重复的命令不进入历史列表)、erasedups(保存当前命令前,从历史列表中移除所有与当前命令匹配的先前记录)、ignoreboth(同时启用 ignorespace 和 ignoredups) |
| HISTIGNORE | 以冒号分隔的模式列表,用于决定哪些命令行将被保存到历史列表中。模式从命令行开头开始匹配,且必须完全指定该行,无隐式通配符 * 。 & 匹配上一行,
超级会员免费看
订阅专栏 解锁全文
373

被折叠的 条评论
为什么被折叠?



