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
実行可能ファイルの完全なディレクトリ名である必要があります(現在のディレクトリに関連付けられているディレクトリではありません)。
コマンドディレクトリをjulia
PATHに追加した後は、フルパス名をwhich julia
返す必要があり、ファイルシステムのどこでも実行可能でなければなりません。julia
julia
PATHを変更することは、シェルによく使用される実行可能ファイルを見つけることを可能にする一般的な方法です。検索パスにないコマンドを1回だけ実行する(たとえば、ワンタイム試行)、検索パスをオーバーライドする場合は、パス名要素を使用してコマンドを指定できます。したがって、現在のディレクトリにはあるが検索パスにはないコマンド(または検索パスでその名前を持つ最初のコマンドではないコマンド)を実行するには、を使用できます./command
。