在我的公司,有很多维护脚本。 我发现一个开始像:
#!/bin/sh # the next line restarts using expectk \ exec `ksh -c "echo /usr/bin/expectk \"$0\" -- $*"`
但我不明白为什么以及如何重新使用expectk。
任何人帮助?
该命令看起来比它需要的更复杂。 基本上它在做什么(可以缩短到)是
#!/bin/sh exec /usr/bin/expectk $0 -- $*
你的脚本正在exec echo命令的输出。 上面的重写版本删除了回声,直接执行exec。 但是,更好的方法是
#!/bin/sh exec /usr/bin/expectk "$0" -- "$@"
这修复了如果脚本的任何参数包含空格都会popup的问题。