如何在 expect spawn 中传递星号?

How to pass star char in expect spawn?

我想 运行 喜欢 ls * 所以我尝试了

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

但 none 正在工作。

我的问题是如何在 spawn 中传递 * char?

谢谢!

spawn 本身不会调用 shell,而是直接调用您告诉它的命令 运行。因此,通常由 shell 执行的操作(例如用文件名列表替换 glob 表达式,例如 *)不会发生。

以下 ls * 由 shell 变为 运行 ,因此 shell 可以执行 glob 扩展你打算:

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