深入探索Shell基础:从命令到I/O重定向
1. #! 行与脚本基础
在Unix系统中,#! 行的行为在POSIX标准里未被明确规定。这意味着在遵循POSIX标准的同时,可以将其作为扩展功能使用。后续的脚本通常都以 #! 行开头,例如修改后的 nusers 程序:
$ cat nusers
#! /bin/sh -
who | wc -l
这里的 - 选项表示没有更多的shell选项,这是一项安全特性,可防止某些欺骗攻击。
不同系统对 #! 行的长度有不同限制,具体如下表所示:
| Vendor platform | O/S version | Maximum length |
|------------------------|------------------------------------------|----------------|
| Apple Power Mac | Mac Darwin 7.2 (Mac OS 10.3.2) | 512 |
| Compaq/DEC Alpha | OSF/1 4.0 | 1024 |
| Compaq/DEC/HP Alpha | OSF/1 5.1 | 1000 |
| GNU/Linux (All architectures) | Red Hat 6, 7, 8, 9; Fedora 1 | 127 |
| HP PA–RISC and Itanium-2 | HP–UX 10, 11 | 127 |
| IBM RS/6000 | AIX
超级会员免费看
订阅专栏 解锁全文
6

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



