我试图摆脱它们之间有空间的壳参数之间的“{}”字符。 例如:
./cod4_ start.sh hello 28960“hostnamewithspaces”
如果将“有空间的HOSTNAME”作为参数传递,则即使它是双引号的shell,主机名也会被视为{HOSTNAME WITH SPACES}。
是否向脚本传递了其他参数,以使我的变量中没有{}个字符?
代码如下。
#! /usr/bin/expect -f
set pssword [lrange $argv 0 0]
set port [lrange $argv 1 1]
set mod [lrange $argv 2 2]
set map [lrange $argv 3 3]
set num [lrange $argv 4 4]
set hostname [lrange $argv 5 5]
set rcon [lrange $argv 6 6]
set password [ l范围$ argv77 ]
set gtype [lrange $argv 8 8]
set slots [lrange $argv 9 9]
spawnsu-kod-CCD cod4- c ' nohup./cod4_ lnxdedsets _ num=$ num set net _ port $ portsetdedicated2setfs _ game MODS/' $ hostname' execfastdl.cfgsetrcon _ password $ rconsetg _ password ' $ password ' set promod _ modematch _ Mr 10s etg
expect ' password : ' { send ' $ psswordr ' }
expect '# ' { send 'q' }
退出