gpt4 book ai didi

macos - 将多个参数从 Applescript 传递到终端命令脚本

转载 作者:行者123 更新时间:2023-12-02 04:23:08 24 4
gpt4 key购买 nike

我一直在试图弄清楚如何将多个参数从 Applescript 传递到终端命令脚本。例如,当运行终端命令文件时,您可以通过编程方式接收参数,如下所示:

#!/bin/bash

var=$1

var=$2

我一直在使用的Applescript代码如下供引用:

tell application "System Events" to set app_directory to POSIX path of (container of (path to me))

set thisFile to "Dev"

set testTarget to "/Users/lab/Desktop/TestTarget/"

do shell script "/Users/lab/Desktop/TempRoot/mycommand.command " & thisFile & testTarget with administrator privileges

我认为我出错的地方是第二个参数的输入。当我只有一个参数时,它运行得很好:

do shell script "/path/to/command/mycommand.command" &var with administrative privileges

我很好奇传递第二个参数的正确语法是什么。如果有人有任何建议,请告诉我!另外,如果您需要更多信息,我很乐意提供!

最佳答案

您只需在参数之间添加一个空格即可。目前,thisFiletestTarget 之间没有添加空格。您的命令如下所示:

/Users/lab/Desktop/TempRoot/mycommand.command Dev/Users/lab/Desktop/TestTarget/

将 shell 脚本行更改为:

do shell script "/Users/lab/Desktop/TempRoot/mycommand.command " & thisFile & space & testTarget with administrator privileges

我发现在构建脚本时有用的一点是在运行 shell 命令之前确保它们是正确的。因此,不要直接构建它,而是将命令存储在变量中并记录它。稍后,将日志记录语句替换为 do shell script 命令。

set shellScript to "/Users/lab/Desktop/TempRoot/mycommand.command " & thisFile & space & testTarget with administrator privileges
log shellScript
-- do shell script shellScript

关于macos - 将多个参数从 Applescript 传递到终端命令脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28833086/

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