2

使用 Platypus 从脚本构建应用程序时是否可以获得用户输入?

我有一个简单的 perl 脚本。如果我从终端运行,它会要求用户输入。但是当我使用 Platypus 构建应用程序文件时,只显示脚本的输出。

4

1 回答 1

1

文档对此很清楚,没有双向通信;见http://www.sveinbjorn.org/files/manpages/PlatypusDocumentation.html#812

这给您留下了一些解决方法;

  • 使用并期望脚本注入您的输入;
  • 更新您的脚本以获取参数,这是 platypus 支持的功能;
  • 如果需要添加更多动态信息,可以考虑使用TK 对话框来查询用户输入;
  • 在 Mac 上,您可以使用 osascript 以最少的代码调用对话框;

OSA 脚本示例

#!/usr/bin/env perl

use strict;

sub osascript($) { system 'osascript', map { ('-e', $_) } split(/\n/, $_[0]); }

sub dialog {
  my ($text, $default) = @_;
  osascript(qq{
        tell app "System Events"
            text returned of (display dialog "$text" default answer "$default" buttons {"OK"} default button 1 with title "$(basename $0)")
        end tell
  });
}

my $result = dialog("Life, the universe and everything?", "42");

在此处输入图像描述

于 2015-11-09T05:55:20.910 回答