web-dev-qa-db-ja.com

Mac OSXでシンボリックリンクを作成するにはどうすればよいですか?

シンボリックリンクを作成するために必要な.shファイルがあります。ターミナルを使用してファイルにアクセスできるようにしたいと思います。

私が使用するコマンドは次のとおりです。

ln -s /path/roo.sh /usr/bin/roo

しかし、rooと入力すると、コマンドが見つかりませんと表示されます。 /path/roo.shと入力すると、機能します。どこかに足りない?

7
okysabeni

あなたがしたことはうまくいくはずです。トラブルシューティング:

  1. あなたは根の下にいますか? lnコマンドは実際に成功しましたか?新しく作成されたリンクを一覧表示するls -l /usr/bin/rooで確認します。リンクがない場合は、lnの前に「Sudo」を追加してrootとして実行します(Sudoはrootのパスワードの入力を求めます)。

    Sudo ln -s /path/roo.sh/usr/bin/roo

  2. 時には、bashは特定の実行可能ファイルがどこにあるかを記憶し、他の場所を検索しません。 hash -rと入力して忘れないようにしてから、もう一度rooを試してください。

  3. 「/ usr/bin」は間違いなくPATHに含まれている必要がありますが、確認しても問題はありません。echo $PATHには「/ usr/bin」を含める必要があります。

8
haimg

コマンドalias roo="/usr/bin/roo"を使用します

2
TheTechPro07

Rooをコマンドとして使用しようとしている場合は、エイリアスコマンドを確認することをお勧めします。

この場合、次のようにします。

alias roo="path to roo"

それを呼び出すには、rooを実行する必要があります

例えば

alias test="Ruby /Users/user/Desktop/test.rb"
1
Kassym Dorsel

僕の echo $PATHは、/ usr/local/bin /も私のパスにあることを示したので、リンクターゲットとして/ usr/local/bin/rooを使用しました。

ln -s /path/roo.sh /usr/local/bin/roo
0
DaShaun

ターミナルからSudoでしか作成できないため、シンボリックリンクは作成されていないと思います。/usr/bin/rooが存在することを確認してください。

存在する場合は、echo ${PATH}コマンドを試してください。シェルがコマンドを検索するフォルダーが表示されます。/usr/binが含まれていない場合は、〜/ .profileにexport PATH="${PATH}:/usr/bin"を追加して修正してください。

0
Gabor Garami