😺
MacでRubyのスクリプトをダブルクリックで実行する
MacでRubyのスクリプトをダブルクリックで実行するための手順を書き留めておく
手順
- シバン(shebang)を定義
#! /usr/bin/env ruby
- 実行時の場所を取得して移動する
require 'fileutils'
FileUtils.cd(__dir__)
- スクリプトのモードを実行可能にする
chmod +x script.rb
- スクリプトファイルを右クリックし、このアプリケーションで開くを"ターミナル"にする
- ターミナルの設定を正常終了で閉じるにようにする
[環境設定]->[プロファイル]->[シェル]->[シェルの終了時]
実行時の場所を取得する方法
rubyで現在地を取得する方法として複数の方法があるようですが、ダブルクリックで実行すると一旦保ホームディレクとりに移動するため__dir__以外ではスクリプトの場所が取得できませんでした。
__dir__ # /Users/user/myapp/hoge
Dir.pwd # /Users/user
Dir.getwd # /Users/user
Discussion