Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Macos 如何创建Applescript以执行终端命令和密码_Macos_Terminal_Passwords_Applescript_Osx Mavericks - Fatal编程技术网

Macos 如何创建Applescript以执行终端命令和密码

Macos 如何创建Applescript以执行终端命令和密码,macos,terminal,passwords,applescript,osx-mavericks,Macos,Terminal,Passwords,Applescript,Osx Mavericks,我到处找了找,但找不到适合我的问题的东西 我想创建一个脚本来复制以下内容: sudo kextload /System/Library/Extensions/AppleHDA.kext 开放式终端 执行以下命令: sudo kextunload /System/Library/Extensions/AppleHDA.kext 然后让它为我输入我的OSX管理员密码 然后执行以下操作: sudo kextload /System/Library/Extensions/AppleHDA.kext

我到处找了找,但找不到适合我的问题的东西

我想创建一个脚本来复制以下内容:

sudo kextload /System/Library/Extensions/AppleHDA.kext
  • 开放式终端

  • 执行以下命令:

    sudo kextunload /System/Library/Extensions/AppleHDA.kext
    
  • 然后让它为我输入我的OSX管理员密码

  • 然后执行以下操作:

    sudo kextload /System/Library/Extensions/AppleHDA.kext
    
  • 我对applescript一无所知,希望有人能帮我


    谢谢

    问题注释中的提示是正确的(在[Apple]脚本编辑器中,选择
    文件>打开字典…
    ,选择
    StandardAdditions.osax
    ,然后搜索
    do shell Script
    以查看完整的语法),但需要注意的是
    do shell Script
    不会打开终端窗口;相反,它将运行shell命令HINDED并返回其结果
    ——这通常是可取的:

    • do shell脚本的返回值是shell命令的
      stdout
      输出
    • 如果shell命令返回一个非零的退出代码,AppleScript将抛出一个错误,错误消息将包含命令的
      stderr
      输出
    要使用管理权限运行命令,您有2个选项:

    • [建议使用]让AppleScript显示密码提示
    将shCmds设置为“kextunload/System/Library/Extensions/AppleHDA.kext;
    kextload/System/Library/Extensions/AppleHDA.kext“
    #这将提示输入管理员密码,然后执行命令
    #好像他们是用sudo跑的。
    使用管理员权限执行shell脚本shCmds
    
    • [出于安全原因,不建议使用]将密码作为参数传递
    将shCmds设置为“kextunload/System/Library/Extensions/AppleHDA.kext;
    kextload/System/Library/Extensions/AppleHDA.kext“
    #将“{myPassword}”替换为您的实际密码。
    #这些命令将像使用“sudo”执行一样运行。
    是否执行shell脚本shCmds
    用户名(系统信息)密码“{myPassword}”的短用户名
    具有管理员权限
    
    如前所述,如果出现问题—无论是由于无效密码、取消的密码对话框还是返回非零退出代码的shell命令—都会引发运行时错误。 下面是一个捕获它并通过
    display alert
    报告的示例

    试试看
    使用管理员权限执行shell脚本shCmds
    关于错误errMsg编号errNo
    显示警报“正在执行”&shCmds&“失败,错误代码”&
    errNo&”和以下消息:“&errMsg”
    回来
    结束尝试
    
    问题注释中的提示是正确的(在[Apple]脚本编辑器中,选择
    文件>打开字典…
    ,选择
    StandardAdditions.osax
    ,然后搜索
    do shell Script
    以查看完整的语法),但是需要注意的是,
    do shell script
    不会打开终端窗口;相反,它将运行shell命令HINDED并返回其结果
    ——这通常是可取的:

    • do shell脚本的返回值是shell命令的
      stdout
      输出
    • 如果shell命令返回一个非零的退出代码,AppleScript将抛出一个错误,错误消息将包含命令的
      stderr
      输出
    要使用管理权限运行命令,您有2个选项:

    • [建议使用]让AppleScript显示密码提示
    将shCmds设置为“kextunload/System/Library/Extensions/AppleHDA.kext;
    kextload/System/Library/Extensions/AppleHDA.kext“
    #这将提示输入管理员密码,然后执行命令
    #好像他们是用sudo跑的。
    使用管理员权限执行shell脚本shCmds
    
    • [出于安全原因,不建议使用]将密码作为参数传递
    将shCmds设置为“kextunload/System/Library/Extensions/AppleHDA.kext;
    kextload/System/Library/Extensions/AppleHDA.kext“
    #将“{myPassword}”替换为您的实际密码。
    #这些命令将像使用“sudo”执行一样运行。
    是否执行shell脚本shCmds
    用户名(系统信息)密码“{myPassword}”的短用户名
    具有管理员权限
    
    如前所述,如果出现问题—无论是由于无效密码、取消的密码对话框还是返回非零退出代码的shell命令—都会引发运行时错误。 下面是一个捕获它并通过
    display alert
    报告的示例

    试试看
    使用管理员权限执行shell脚本shCmds
    关于错误errMsg编号errNo
    显示警报“正在执行”&shCmds&“失败,错误代码”&
    errNo&”和以下消息:“&errMsg”
    回来
    结束尝试
    
    查看“do shell script”命令(来自“StandardAdditions”)-在AppleScript编辑器中,打开“Library”(参见菜单“窗口”)并双击“StandardAdditions”。在搜索字段中输入“do shell”。检查“do shell脚本”命令(来自“StandardAdditions”)—在AppleScript编辑器中,打开“库”(请参见菜单“窗口”)并双击“StandardAdditions”。在搜索字段中输入“do shell”。感谢@mklement0的详细回复。我会尝试一下,然后再报告。添加错误处理看起来像什么?(很抱歉,我对所有这些都不熟悉)。我尝试了一下,复制并粘贴了第一个代码段和错误处理代码段,然后单击“运行”。结果是我失去了声音控制,我重新启动了它。我可能做错了什么。知道它可能是什么吗?@Adrius:如果你在终端上以交互方式运行相同的命令,它能工作吗?卸载和加载之间的延迟是否有帮助(插入
    sl)