Centos 重建start.sh

Centos 重建start.sh,centos,expect,Centos,Expect,有人可以基于CentOS重新编码这个start.sh脚本吗? 它现在基于Ubuntu #!/usr/bin/expect -f lassign $argv pssword port mod map num hostname rconpassword slots spawn-fcgi su - et -c cd et -c "./etded.x86 +set s_num=$num +set net_port $port +set dedicated 2 +set fs_game $mod +set

有人可以基于CentOS重新编码这个start.sh脚本吗? 它现在基于Ubuntu

#!/usr/bin/expect -f
lassign $argv pssword port mod map num hostname rconpassword slots
spawn-fcgi su - et -c cd et -c "./etded.x86 +set s_num=$num +set net_port $port +set dedicated 2 +set fs_game $mod +set logfile 0 +set sv_punkbuster 0 +set sv_hostname \'$hostname\' +set rconpassword $rcon +set g_password '$password' +set sv_maxclients $slots +set map $map"
> /dev/null 2>&1 &
expect "Password:" { send "$pssword\r" }
expect "# " { send "q" }
exit

谢谢

您的期望可能是建立在Tcl 8.4之上的,所以请更改

lassign $argv pssword port mod map num hostname rconpassword slots


此脚本在Centos上的输出是什么,为什么不运行[root@localhost主机]。/et_start.sh执行lassign$argv pssword port mod map num hostname rconpassword slots文件时命令名lassign无效。/et_start.sh第2行[host@localhost ~]$./et_start.sh无法读取num:执行spawn fcgi su-et-c cd et-c时没有这样的变量。/etded.x86+set s_num=$num+set net_port$port+set专用2+set fs_游戏$mod+set日志文件0+set sv_punkbuster 0。。。文件。/et_start.sh第3行这是Tcl语法问题。将双引号更改为大括号{}。如果您有进一步的语法错误,请检查。
foreach {pssword port mod map num hostname rconpassword slots} $argv {break}