python - 将操作分配给 Automator 中的变量以在 Shell 脚本中使用

标签 python macos shell variables automator

enter image description here

好吧,这件事现在让我发疯。所以操作 1 选择一个文件夹(我想将该文件夹的路径保存为 var_1),操作 3 选择一个文件(我想将该文件的路径保存为 var_2)

所以最后。 . .

var_1 = '/Users/Prometheus/Desktop/'
var_2 = '/Users/Prometheus/Documents/a.txt'

那么我如何在 Shell Script 中使用这些变量和它们的值呢?我不能使用 sys.argv,因为它们被设置为一些奇怪的变量

我通常把'Ask for Finder Item' > Run Shell Script 然后

import sys

variable = open(argv[1]).read()

但在这种情况下我不能使用它。我的脚本是用 python 编写的,所以我宁愿留在 python 中,因为我不知道任何其他语言

最佳答案

Automator 变量仅在 Automator 工作流程中使用。 shell 脚本或 Python 脚本不能直接访问变量本身。 Run Shell Script 操作允许您通过以下两种方式之一将特定变量的值传递给 shell 脚本:通过 stdin 将它们传递给管道,或者将它们作为执行传递争论。对于这种用例,后者更容易。首先,您需要在 Set Value of VariableGet Value of Variable 操作中选择 Automator 变量名称,以便所选值可以在操作之间保留。这是一个非常基本的工作流程示例,我在其中选择了两个文件夹:

enter image description here enter image description here

关于python - 将操作分配给 Automator 中的变量以在 Shell 脚本中使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19105461/

相关文章:

linux - txt 的统计(出现频率 % ecc..)分析

linux - 补充模式

python - 获取python标准库函数名称列表

嵌套功能中的python覆盖变量

python - python中的多线程 - 阻止调用在后台运行

python - 调试: Crawled (404) <GET >

css - 在带有字体的 chrome 中没有反抗(在某些地方)

macos - Linux/X11(和 Mac OS X)中相当于 Win API SetCapture() 函数的是什么?

string - 如何替换字符串中的字符,但前提是该字符出现在分隔子字符串中?

bash - 从 bash 脚本中通过 ssh 在远程主机上执行命令