- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
好的,我有这个非常简单的 python 脚本:
import time
import sys
for i in range(25):
time.sleep(1)
print(i)
sys.exit()
当我使用 python 运行它时(/usr/local/bin/python3.6 testscript.py
),一切正常,输出为:
1
2
3
4
etc..
每个数字都在另一个数字之后 1 秒打印。
但是当我运行时:
/usr/bin/osascript -e 'do shell script "/usr/local/bin/python3.6 testscript.py" with prompt "Sart Testing " with administrator privileges'
25秒没有任何输出,最后打印:
24
到终端。
问题是:如何让 osascript 打印出与直接运行 Python 脚本时完全相同的输出?
最佳答案
AppleScript 的 do shell script
命令在非交互式 shell 中运行,因此您无法执行 osascript
命令,正如您所拥有的那样,并期望它的输出与运行 python
相同脚本来自python
或直接运行。换句话说,直接添加 python
shebang 并使文件可执行,从而 ./testscript.py
终端 就是您所需要的。或者使用终端及其 do script
来完成此操作命令 osascript
.
保存python
代码为。例如:
#!/usr/local/bin/python3.6
import time
import sys
for i in range(25):
time.sleep(1)
print(i)
sys.exit()
使其可执行:
chmod u+x testscript.py
在终端中运行它:
./testscript.py
或者:
osascript -e 'tell app "Terminal" to do script "/path/to/testscript.py"'
或者python
代码没有shebang并且在使用终端时无法执行do script
命令:
osascript -e 'tell app "Terminal" to do script "/usr/local/bin/python3.6 /path/to/testscript.py"'
关于python - 使 osascript 交互式/实时打印标准输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49155168/
我有以下使用 osascript 命令的 shell 脚本: #!/usr/bin/osascript on run argv tell application "Terminal" ac
我想在 bash 中执行此操作: read -r -d '' script <<'EOF' echo 1 echo 2 echo 3 EOF osascript -e "do shell script
这是我的小测试脚本: do shell script "cd ~/Desktop; ls -l1" set x to the result tell application "Finder" to a
谁能想出解决 osascript 按名称索引瓶颈的方法,因为它引用了同一应用程序的多个实例? 如果我们获得两个进程 ID——同一个应用程序的两个不同实例中的每一个,osascript 返回同一个实例以
以下问题与发布在 this question 上的答案有关: 我喜欢创建自己的函数来打开新终端的想法,因此 Craig Walker 在上述问题中链接到的脚本符合我的需要。该脚本由 Mark Liya
set thisFolder to (choose folder with prompt "Choose the folder to which you want to attach the acti
我写了一个发送文本的命令,但它不起作用,即使我将命令粘贴到其中也是如此。是否有语法错误或我遗漏了什么? 打印的命令是:/usr/bin/osascript -e '告诉应用程序“消息”' -e '将
我有一些使用 osascript 执行的 AppleScript 代码。这是一个更大的 Perl 程序的一部分。我希望能够从 AppleScript 打印到标准输出,然后让 Perl 脚本处理输出。但
我正在尝试从 Python 将文件路径传递到 n Applescript 中,不知道如何实现它。下面的代码显示了工作的 Applescript 代码,它提示打开一个或多个文件,然后重新分配音频 cha
好的,我有这个非常简单的 python 脚本: import time import sys for i in range(25): time.sleep(1) print(i) sy
我有一个 LiveCode 应用程序,作为更大目的的一部分,它检查“最前面”应用程序的名称(即菜单栏中的名称)。我让 LiveCode 通过 shell 运行它: osascript -e 'tell
OSX 优胜美地 Xcode 7.1 我正在通过 vim 或 atom 开发 iOS。但有件事我不喜欢。必须按 command + tab 然后切换到 Xcode 才能运行。 我发现这个脚本可以解决这
我一直在尝试创建一个脚本来生成所有可用服务名称的 XML 结构。它在脚本编辑器中运行良好,但无法从命令行运行。我的代码是: ObjC.import("Cocoa"); ObjC.import("App
我正在尝试在远程网格上托管的 selenium 测试中运行以下 Applescript 片段。 protected void enableTouchIDLogin(){ Runtime runt
我知道我可能非常想念这个, 但有人知道为什么这会不断返回错误吗? $ node -v && node v0.4.6 > var cmd = 'osascript -e "open location \
使用 python,我正在尝试“””字符串和 osascript。所以我所拥有的是这个 os.system("""arch -i386 osascript -e
使用 osascript,我可以告诉终端应用程序在单独的终端窗口中打开 ssh 连接,但是,当我尝试在脚本中传递 bash 变量时遇到错误。 这个脚本工作得很好: osascript -e 'tell
我想问一下在设计 Mac (Sierra) 应用程序时是否可以在 swift/xcode 中使用 osascript。所以我基本上只是使用 Xcode 和 swift 构建了一个空的应用程序。 我现在
Apple 权限 hell :osascript 和辅助功能(辅助访问)。 错误:不允许使用 osascript 进行辅助访问。 (-1719) 我在名为 QuickenUpdate.scpt 的文件
我正在尝试在新窗口中创建一个新进程。我正在关注此示例的命令 Running a command in a new Mac OS X Terminal window (使用 Java 进程构建器)。我打
我是一名优秀的程序员,十分优秀!