【发布时间】:2026-01-16 10:00:02
【问题描述】:
我想在 Windows 中编写一个 shell 程序,它运行另一个 shell 脚本,并期望来自 Git bash 终端的密码提示并输入它。 这是我目前所拥有的:
#!/bin/sh
# \
exec tclsh "$0" ${1+"$@"}
package require Expect
spawn sampleScript.sh
expect "Password:"
send "pass123"
sampleScript.sh 代码:
echo 'Hello, world.' >foo.txt
我的程序输出以下内容:
'The operation completed successfully. while executing "spawn sampleScript.sh"
(file "compare.tcl" line 6)'
但是,在脚本所在的本地文件夹中没有创建 foo.txt。你能帮忙吗?
【问题讨论】:
-
您的问题究竟是什么?现在,这是一个“很酷的故事,兄弟”,因为我看不出有什么可以真正回答的。什么不工作?当它不起作用时,你会看到什么?你期待/希望看到什么?
-
我还没有运行它,因为我没有下载包。我希望能更清楚地了解 Windows 中的基本 tcl 程序是什么样的。我只是希望自动提示密码,这样就不用每次都手动在终端里自动输入了
-
更现代的 shebang 行是
#!/usr/bin/env tclsh-- 可以替换您的前 3 行。