フルパスの提供は機能しませんが、プログラム名だけを呼び出すと機能します。なぜですか?

フルパスの提供は機能しませんが、プログラム名だけを呼び出すと機能します。なぜですか?

私は何を見逃していますか?コマンドラインから "rvm"を呼び出すことはできますが、which rvm使用中のフルパスを引用することはできません。

関係はありませんが、常に「jenkins」としてログインしており、コマンドは引き続き実行されます。

$ whoami
jenkins

RVMはここにあります

$ which rvm
/home/jenkins/.rvm/bin/rvm

これは効果があります

$ rvm use 1.8.7
Using /home/jenkins/.rvm/gems/ruby-1.8.7-p370
Running /home/jenkins/.rvm/hooks/after_use

しかし、これはうまくいきません

$ /home/jenkins/.rvm/bin/rvm use 1.8.7
RVM is not a function, selecting rubies with 'rvm use ...' will not work.
You need to change your terminal settings to allow shell login.
Please visit https://rvm.io/workflow/screen/ for example.

はい、参照されたリンクにアクセスしましたが、それが私にどのように適用されるかわかりません。

ベストアンサー1

which rvmという実行ファイルを探しますrvm。実行ファイルは、実行時に単に「RVMは関数ではありません...」というメッセージを出力します。

rvmこれはシェルの関数でもエイリアスでもかまいません。これはあなたのファイル~/.bashrc(システム全体/etc/bash.bashrcまたは含まれているファイルのいずれか)で定義されています。rvmコマンドが何であるかを確認するには、またはtype rvmを実行しますcommand -v rvm

また、見ることができますwhichaliasコマンドで使用する方法は?

おすすめ記事