gpt4 book ai didi

cocoa - 使用 AppleScript 在 Echo Off 的情况下将命令和字符串发送到 Terminal.app

转载 作者:行者123 更新时间:2023-12-03 17:16:21 24 4
gpt4 key购买 nike

我想要完成的事情类似于this question中描述的那样。基本上使用 AppleScript 将命令发送到 Terminal.app。

但是,我不希望出现这种行为:使用 do script 指令发送的每个命令都会回显到终端。我目前正在将 AppleScript 与 Cocoa 集成,有时该软件会将密码等敏感信息发送到终端。

是否有某种方法可以禁用此行为,例如 DOS 批处理文件中的 @echo off 指令?

编辑

为了澄清我的问题,我将详细说明。假设我们有一个像这样的 AppleScript:

tell application "Terminal"
set currentTab to do script "login"
do script "username" in currentTab
do script "password" in currentTab
end tell

我注意到,如果终端应用程序已经在运行,无论打开或没有打开任何终端窗口,do script 指令中的命令都会在输入到 shell 之前进行回显。为了在终端中说明上述脚本的结果:

Last login: Tue 5 Apr hh:mm:ss on ttys001
login <--\
username <----unwanted echoes
password <--/
<machine>:~ <user>$ login
username: username
password: ****
... (interactive Terminal session)

但是,如果 Terminal.app 在脚本执行时未运行,则不会发生这种情况。

最佳答案

您在 shell 有机会响应之前“键入”内容(在本例中,是在 login 有机会关闭回显之前)。工具如expect解决编写任意命令行实用程序脚本的问题,这在一般情况下是一个更好的解决方案,但从您的问题中不清楚您想要做什么。

您尝试编写什么命令脚本,为什么通过终端执行此操作?

关于cocoa - 使用 AppleScript 在 Echo Off 的情况下将命令和字符串发送到 Terminal.app,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5529983/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com