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/bin
gmake
make
答え3
たとえば、以前にgmake
リンクする必要があります。リンクが現在どこにあるかを確認してください(リンクがある場合)。PATH
make
/usr/bin
make
type make
/usr/bin
PATH のディレクトリが見つかったディレクトリより古い場合は、make
次のコマンドを使用してそのディレクトリに接続できます。
ln -s /usr/local/dist/gmake /usr/bin/make
リンクを作成するには、既存のリンクを上書きする必要があります。これがパッケージの更新にどれだけ安全かわかりません。