Unixでこのシンボリックリンクを作成するには?

Unixでこのシンボリックリンクを作成するには?

makeを実行するときにgmakeを実行したいので、シンボリックリンクを作成しています。私のgmakeはその中にあります/usr/local/dist。私のブランドはinisdeです/usr/ccs/bin

これは正しいコマンドですか?ln -s /usr/local/dist/gmake /usr/ccs/bin/make

私の混乱は、私は気にしますか/usr/ccs/bin/make?シンボリックリンクを作成しているので、どこにでも「make」と入力すると、/usr/local/dist右側でgmakeを実行する必要がありますか?

ln -s /usr/local/dist/gmake makeその後、コマンドは次のようになります。

答え1

システムバイナリをシンボリックにリンクすることは、しばしば正しいアプローチではありません。これにより、特定のバイナリ名が特定の既知の動作と一致すると予想してから、他のソフトウェアが複雑になります。あなたが望むのはエイリアスのようです。シェルで実行します。

alias make=gmake

makeと入力するたびにgmakeが自動的に実行されます。永久に作成するには、シェルのrcファイル(たとえば~/.bashrc)にこの行を追加します。

答え2

mkdir -p ~/bin &&
  ln -s /usr/local/dist/gmake ~/bin/make &&
  PATH=~/bin:$PATH

これにより、呼び出されるプロセス(ユーザーの場所があるプロセスPATH)を制御できます。~/bin/usr/ccs/bingmakemake

答え3

たとえば、以前にgmakeリンクする必要があります。リンクが現在どこにあるかを確認してください(リンクがある場合)。PATHmake/usr/binmaketype make

/usr/binPATH のディレクトリが見つかったディレクトリより古い場合は、make次のコマンドを使用してそのディレクトリに接続できます。

ln -s /usr/local/dist/gmake /usr/bin/make

リンクを作成するには、既存のリンクを上書きする必要があります。これがパッケージの更新にどれだけ安全かわかりません。

関連情報