【问题标题】:'invalid command' error in expect script that is fine in interactive mode期望脚本中的“无效命令”错误在交互模式下很好
【发布时间】:2015-06-15 00:07:27
【问题描述】:

我在运行期望脚本时遇到了问题(这是非常新的)。 这是我现在在期望脚本autorun.exp 中的内容:

#!/usr/bin/expect -f
cd /auto/rmscr/shared_resources/qiuyuguo/softwares/QuEST_2.4
./generate_QuEST_parameters.pl -sam_align_ChIP A.sam -sam_align_RX_noIP \
    B.sam -rp mm10_bychr -ap ./output_directory -ChIP_name name

运行此脚本后,我得到的是:

[qiuyuguo@hpc-uec 20150605]$ ./auto_run.exp
invalid command name "./generate_QuEST_parameters.pl"
    while executing
"./generate_QuEST_parameters.pl -sam_align_ChIP A.sam -s..."
    (file "./auto_run.exp" line 3)

有趣的是,脚本中的内容在expect的交互模式下运行良好。我能得到关于发生了什么的提示吗?

【问题讨论】:

  • 您可以编辑您的帖子以使其正确。
  • 这个脚本的目的是自动运行一个需要在程序运行过程中输入参数的脚本。如果有更简单的替代方法,也会很有帮助。
  • 您的脚本看起来不像Expect 脚本。尝试使用sh auto_run.exp 运行它。

标签: linux shell


【解决方案1】:

期望脚本应该有一个spawn 命令、一个expect 命令和一个send 命令。

这是一个例子:

#!/usr/bin/env expect

spawn su -l test
expect "Password: " {
  send "xxxxx\r"
}
expect "# " {
  send "exit\r"
}
expect eof {
  exit
}

【讨论】:

    猜你喜欢
    • 2016-07-07
    • 1970-01-01
    • 2017-12-09
    • 2018-08-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-19
    • 2014-08-11
    相关资源
    最近更新 更多