如何通过星期字预期产卵?

问题描述:

我想运行像ls *所以我试图如何通过星期字预期产卵?

expect -c 'spawn ls *;expect eof;' 
expect -c 'spawn ls {*};expect eof;' 

,但没有工作。

我的问题是如何通过*字符中重生?

THX!

+1

目前您的命令完全等同于'LS“*”'壳:

下已经ls *由外壳,使得外壳可以执行水珠扩展你打算运行:他们将'*'传递给'ls',而不是将其视为一条将命名行放在命令行上的指令。所以你真正想要的是**而不是**将星号传递给'ls'。 –

spawn没有,对自己,调用一个shell,而是直接调用你告诉它要运行的命令。因此,通常由shell执行的操作(例如用文件名列表替换glob表达式,例如*)不会发生。

expect -c 'spawn sh -c {ls *}; expect eof;'