深入探索 Spawn 命令:功能、应用与注意事项
1. Spawn 命令基础
Spawn 命令不仅能启动进程,还可用于与文件和管道进行交互。在查找要调用的程序时,它遵循常见规则,相对和绝对文件名均可接受。若只指定文件名而无目录,会将环境变量PATH视为目录列表,逐个搜索直至找到文件,此搜索由操作系统完成,与 Bourne shell 和 C shell 查找程序的方式相同。
例如:
spawn /bin/passwd ;# 绝对路径 spawn passwd ;# 相对路径在某些情况下,使用绝对名称较好;而在其他情况下,相对名称更合适。若使用相对名称,最好显式设置PATH:
set env(PATH) "/bin:/usr/bin"为避免硬编码,可使用变量,方便在需要时修改脚本中的引用:
set telnet /usr/ucb/telnet spawn $telnet对于位于公共目录不同子目录下的程序集,可使用不同变量进行本地化:
set root "/usr/kidney" set bindir "$root/bin" set testdir "$root/test/bin" set demoprog "$bind