Unix Shell:输入输出、文件操作与命令执行详解
在Unix Shell的使用中,输入输出、文件操作以及命令执行是非常重要的部分。下面将详细介绍相关的知识点,包括printf命令的使用、波浪号扩展、通配符的应用、命令替换以及简单的数学运算等。
1. printf命令的使用
printf 命令用于格式化输出。当字符串的第一个字符是单引号或双引号时,对应的数值是字符串第二个字符的ASCII值,示例如下:
$ printf "%s is %d\n" a "'a"
a is 97
当参数数量超过格式说明符时,格式说明符会按需重复使用,这在参数列表长度未知时很方便,比如使用通配符表达式。如果格式字符串中的说明符比参数多,对于数值转换,缺失的值会被视为零;对于字符串转换,会被视为空字符串。不过,最好确保提供的参数数量与格式字符串期望的数量一致。如果 printf 无法执行格式转换,它会返回非零退出状态。
2. 波浪号扩展和通配符
Shell会进行两种与文件名相关的扩展:波浪号扩展和通配符扩展(也称为全局匹配或路径名扩展)。
- 波浪号扩展 :如果命令行字符串的第一个字符是波浪号( ~ ),或者变量赋值(如 PATH 或 CDPATH 变量)值中未加引号的冒号后的第一个字符是波浪号,Shell会进行波浪号扩展。其目的是将用户主目录的符号表示替换为实际路径。
超级会员免费看
订阅专栏 解锁全文

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



