то, чего я хочу достичь, это что-то вроде того, что описано в этом этом вопросе .В основном используется AppleScript для отправки команд в Terminal.app.
Однако есть такое поведение, которое мне не нужно: каждая команда, отправленная с использованием директивы do script
, отображается в терминале.В настоящее время я интегрирую AppleScript с Cocoa, и иногда программное обеспечение отправляет конфиденциальную информацию, такую как пароль, в Терминал.
Есть ли способ отключить это поведение, например, директива @echo off
в пакетных файлах DOS?
РЕДАКТИРОВАТЬ
Чтобы уточнить мой вопрос, я уточню подробнее.Предположим, у нас есть AppleScript, такой как этот:
tell application "Terminal"
set currentTab to do script "login"
do script "username" in currentTab
do script "password" in currentTab
end tell
Я заметил, что если приложение Terminal уже запущено, с открытым окном терминала или без него, команды в директиве do script
будут отображаться доон подается в оболочку.Чтобы проиллюстрировать результат выполнения вышеуказанного сценария в терминале:
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 не запускается при выполнении сценария.