如何将单独的参数传递给预期脚本



我有一个expect脚本,可以执行作为参数给出的命令,如下所示:

!/usr/bin/expect
spawn telnet ip
for {set i 0} {$i < $argc} {incr i 1} {
  set cmd [lindex $argv $i] 
  send "$cmdn"
}

我可以使用我想在远程设备上执行的任何命令来调用它,例如 my_expect_script "cd /home" "ls" "mkdir mydir" .默认情况下,我想在此脚本之前执行一些操作。我的想法是写另一个这样的脚本:

#!/bin/bash
do-something
my_expect_script "$*"

现在,如果我这样做,my_expect_script似乎只有一个论点。在我的示例中,只会执行cd部分。
有没有一种简单的方法可以将参数作为单独的参数同时传递?

刚刚在这里找到了解决方案。我必须将第二个脚本改编如下:

#!/bin/bash
do-something
my_expect_script "$@"

我一直认为$*$@做的完全一样。

相关内容

  • 没有找到相关文章

最新更新