终端“do script”而不回显命令

时间:2016-10-29 21:31:24

标签: applescript

我有一个用AppleScript编写的无关紧要的脚本,它调用终端并使用do script在终端中运行命令(在这种情况下,它是对curl的调用以及稍后调用echo)。有没有办法让终端运行这些命令而不回显命令本身?我确信我可以编写一个可以调用的附加脚本,但这看起来很愚蠢,它仍然可以回应。

要清楚,我希望终端打印命令的返回,但我希望隐藏命令本身。感谢。

3 个答案:

答案 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