我有一个用AppleScript编写的无关紧要的脚本,它调用终端并使用do script
在终端中运行命令(在这种情况下,它是对curl的调用以及稍后调用echo)。有没有办法让终端运行这些命令而不回显命令本身?我确信我可以编写一个可以调用的附加脚本,但这看起来很愚蠢,它仍然可以回应。
要清楚,我希望终端打印命令的返回,但我希望隐藏命令本身。感谢。
答案 0 :(得分:0)
可能有一种更简单的方法,但您可以使用appify脚本将脚本放入应用程序并将其移至$HOME/Applications
目录:
appify YourShellScript "FunkyApp"
mv FunkyApp.app $HOME/Applications
然后在你的Applescript中:
tell application "FunkyApp" to launch
答案 1 :(得分:0)
你可以用"做shell脚本"在applescript中获取脚本中的答案,你可以通过向" do script"发送一个虚假命令来欺骗终端,bash会在不改变结果的情况下发布错误
try
tell application "Terminal"
activate
set listaffiche to do shell script "/usr/libexec/PlistBuddy -c \"Print :IOKitPersonalities:Controller:IOPCIMatch \"
/System/Library/Extensions
/AMD5000Controller.kext/Contents/info.plist; /usr/libexec/PlistBuddy -c \"Print
:IOKitPersonalities:AMDCedarGraphicsAccelerator\" /System/Library/Extensions
/AMDRadeonX3000.kext/Contents/info.plist
"
do script "" & quoted form of listaffiche --empty and false command
whithout echoing how you make the result
end tell
end try
答案 2 :(得分:0)
你可以在applescript中使用“do shell script”获取脚本中的答案,你可以通过向他发送带有“do script”的虚假命令来欺骗终端,bash会在不改变结果的情况下发布错误并执行结果的外观总是没有用终端的单个窗口回显
try
set listaffiche to do shell script "/usr/libexec/PlistBuddy -c \"Print :IOKitPersonalities:Controller:IOPCIMatch \" /System/Library/Extensions/AMD5000Controller.kext/Contents/info.plist; /usr/libexec/PlistBuddy -c \"Print :IOKitPersonalities:AMDCedarGraphicsAccelerator\" /System/Library/Extensions/AMDRadeonX3000.kext/Contents/info.plist "
tell application "Terminal" to (do script "" & quoted form of listaffiche) launch --empty and false command whithout echoing how you make the result
end try