命令行处理:引用、内置命令与 eval 的高级运用
1. 命令行处理步骤示例
以 ls -l $(type -path cc) ~alice/.*$(($$%1000)) 为例,其命令行处理步骤如下:
1. ls -l 替换其别名 “ll”。接着 shell 重复步骤 1 到 3,步骤 2 会将 ls -l 拆分为两个单词。
2. 此命令行暂时无操作。
3. ~alice 扩展为 /home/alice 。
4. $$ 被替换为 2537。
5. 对 “type -path cc” 进行命令替换。
6. 计算算术表达式 2537%1000 ,结果为 537。
7. 此命令行暂时无操作。
8. 通配符表达式 .*537 被替换为实际文件名,如 .hist537 。
9. 找到 ls 命令的路径为 /usr/bin 。
10. 执行 /usr/bin/ls 命令,携带选项 -l 和两个参数。
虽然上述步骤较为直观,但还有五种方法可以修改这个处理过程,分别是:引用、使用 command 、 builtin 或 enable 命令,以及使
超级会员免费看
订阅专栏 解锁全文
7

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



