シンボリックリンクを実行可能にする方法は?

シンボリックリンクを実行可能にする方法は?

Cloud9.io IDEを使用しています。

Juliaユニバーサル実行可能ファイルをダウンロードして解凍しました。

sudo wget https://julialang-s3.julialang.org/bin/linux/x64/1.0/julia-1.0.3-linux-x86_64.tar.gz
tar xvzf julia-1.0.3-linux-x86_64.tar.gz

julia-1.0.3/bin/julia

そのため、次にプログラムを入力して実行できるようにシンボリックリンクを作成しようとしましたjulia。だから私は努力しました

sudo ln -s julia-1.0.3/bin/julia julia

私が走るとjulia言う

bash:ジュリア:コマンドが見つかりません

しかし、ファイルは明らかに私のディレクトリにあります。私がここで何を見逃しているのでしょうか?

答え1

タイトルに記載されている質問に答えてください。

シンボリックリンクを実行可能にする(または実行不可能にする)ために必要なアクションはありません。

実際、シンボリックリンク権限は、Linuxを含むほとんどのオペレーティングシステムには影響しません。考慮される実行権限は、リンクされたファイル(存在する場合)の実行権限です。

答え2

デフォルトのファイル名で指定された実行可能ファイル(つまり、前のパス要素なし)は、Bashが検索パス(PATH変数に格納されている)にある場合にのみ見つかります。現在、ディレクトリが必ずしも検索パスにある必要はありません。

現在の検索パスを表示するには:

echo $PATH

コマンドが検索パスにあることを確認するには、次のようにします。

which command

command検索パスにある場合、このwhichコマンドはファイルシステムのコマンド位置を返します。 – コマンドディレクトリを使用して検索パスを拡張するには、次のようにします。

PATH=$PATH:directory_to_be_added

directory_to_be_added実行可能ファイルの完全なディレクトリ名である必要があります(現在のディレクトリに関連付けられているディレクトリではありません)。

コマンドディレクトリをjuliaPATHに追加した後は、フルパス名をwhich julia返す必要があり、ファイルシステムのどこでも実行可能でなければなりません。juliajulia

PATHを変更することは、シェルによく使用される実行可能ファイルを見つけることを可能にする一般的な方法です。検索パスにないコマンドを1回だけ実行する(たとえば、ワンタイム試行)、検索パスをオーバーライドする場合は、パス名要素を使用してコマンドを指定できます。したがって、現在のディレクトリにはあるが検索パスにはないコマンド(または検索パスでその名前を持つ最初のコマンドではないコマンド)を実行するには、を使用できます./command

関連情報