##質問
1、bin/ruby
(rubyのインタプリタだと思っているもの)はC言語で書かれたものがコンパイルされた状態すなわちバイナリファイルだと思っていたが開いてみると違いました。(bashのシェルスクリプトでした)rubyのインタプリタ(バイナリファイル)は一体どこにあるのでしょうか・・・?
2、なぜ一度bash
を経由しているのでしょうか?直接インタプリタ(バイナリファイル)を最初に読み込んだほうが早そうな気がするのですが
3、付加的な疑問ですがbinに入っているバイナリファイル達に呼び方はありますか?実行ファイルというと*.rb
や*.sh
等のファイルをイメージするので便宜上あったらいいと思うのですが(実行ユニット・・・?それはCPUの用語か・・・)
bash
1#!/usr/bin/env bash 2set -e 3[ -n "$RBENV_DEBUG" ] && set -x 4 5program="${0##*/}" 6if [ "$program" = "ruby" ]; then 7 for arg; do 8 case "$arg" in 9 -e* | -- ) break ;; 10 */* ) 11 if [ -f "$arg" ]; then 12 export RBENV_DIR="${arg%/*}" 13 break 14 fi 15 ;; 16 esac 17 done 18fi 19 20export RBENV_ROOT="/home/vagrant/.rbenv" 21exec "/home/vagrant/.rbenv/libexec/rbenv" exec "$program" "$@"
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/09/22 08:43