2017年5月28日日曜日

Automator - macOS Sierra - シェルスクリプト(perl、python、ruby)を アプリ(拡張子「.app」)にする方法( @dankogai 、 @hyuki )Dan Kogai さん、結城浩さんのツイートより

標準アプリの Automator で作成した場合にはどうなるのかを確認してみた。

  1. Spotlight、Launchpad 等で Automator を開く。
  2. 新しいファイルの作成。
  3. Application を選択。
  4. Run Shell Script(日本語版、訳も同じ名称?)を選択、ダブルクリック。
  5. Shell から言語を選択して、コードを記述。(既にあるなら、コピー & ペースト)
  6. 保存。
  7. Finderでopen。

記述したコード。

コード(Emacs)

perl

open(my $fh, '>', 'tmp_perl.txt');

print $fh "Hello, Perl!\n";

python(3.6ではなく2.7)

with open('tmp_py.txt', 'w') as f:
    f.write('Hello, Python!\n')

ruby

File.open('tmp_rb.txt', 'w') do |f|
  f.puts('Hello, Ruby!')
end

確認。

入出力結果(Terminal)

$ ls hello.app
./  ../  Contents/
$ open .
$ cat ~/tmp_{pl,py,rb}.txt
Hello, Perl!
Hello, Python!
Hello, Ruby!
$ rm ~/tmp_{pl,py,rb}.txt
$ open -a hello
$ cat ~/tmp_{pl,py,rb}.txt
Hello, Perl!
Hello, Python!
Hello, Ruby!
$ 

el capitan以降(macOS Sierra)で署名がないって怒られなかった。

ということで、警告が気になる方は、Automator で GUIで分かりやすい方法(スクリプトで Mac アップリケーションにする方法より手軽ではないかも)で作成するという選択肢も。(注意: 手元の環境、設定でたまたま警告が出なかっただけで、macOS の初期設定でどうなるのかは未確認。)

0 コメント:

コメントを投稿