linux spawn命令

spawn是进入expect环境后才可以执行的expect内部命令 。expect是一种脚本语言,它能够代替我们实现与终端的交互,我们不必再守候在电脑旁边输入密码,或是根据系统的输出再运行相应的命令 。
如果没有装expect或者直接在默认的SHELL下执行是找不到spawn命令的 。所以不要用 “which spawn“之类的命令去找spawn命令 。好比windows里的dir就是一个内部命令,这个命令由shell自带,用户无法找到一个dir.com或dir.exe的可执行文件 。它主要的功能是给运行进程加个壳,用来传递交互指令 。

linux spawn命令

文章插图
扩展资料:
下面是一个能用来实现自动执行该命令的Expect脚本:
#!/usr/bin/expect
【linux spawn命令】# Change a login shell to tcsh
set user [lindex $argv 0]
spawn chsh $user
expect "]:"
send "/bin/tcsh "
expect eof
exit
和其他脚本一样首行指定用来执行该脚本的命令程序,这里是/usr/bin/expect 。程序第一行用来获得脚本的执行参数(其保存在数组$argv中,从0号开始是参数),并将其保存到变量user中 。
第二个参数使用Expect的spawn命令来启动脚本和命令的会话,这里启动的是chsh命令,实际上命令是以衍生子进程的方式来运行的 。
参考资料来源:百度百科-SPAWN (Expect编程工具语言)

    推荐阅读