gitコマンドが見つかりません

gitコマンドが見つかりません

RHELのソースからgitをインストールする必要があります。インストール後に/usr/local/bin/gitコマンドを実行すると、gitコマンドが表示されます。この whereisパスも使用できます$PATH

gitを入力しても「コマンドが見つかりません」と表示されます。この問題をどのように解決しますか?

編集:さまざまなコマンドの出力

$type git
type: Command not found.

$which git
git: Command not found.

$ls -l /usr/local/bin/git
-rwxr-xr-x 112 root users 5851488 Mar 15 20:07 /usr/local/bin/git

$whereis git
git: /usr/local/bin/git

$echo $PATH
/usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin

編集:今はうまくいきますが、理由はわかりません。

Telnetの接続を解除して数分前に再度ログインしましたが、gitコマンドが機能することがわかりました。動作が始まる原因が何であるかよくわかりません。これはとても混乱しています。

答え1

エラーメッセージで判断すると(t)cshを使用しているのです。特に、$cshプロンプトではなくBourneプロンプトであるプロンプトとして表示される場合は、質問にこれを言及すると便利です。

typeBourneスタイルの組み込みシェルです。 cshには存在しません。実行すると、コマンドが見つからないというメッセージtype gitが表示されます。type

多くのシェルは、キャッシュの検索パス内のコマンドの場所に関する情報を保持します。どのバージョンのcshキャッシュがルックアップを無効にしているかわかりませんが、あなたのバージョンではそうです。rehashキャッシュを更新するには、コマンドを実行します。新しいシェルインスタンスを起動すると、新しいキャッシュが作成されるため、以前は存在しなかったgitことを覚えていません。

答え2

たとえば、次のことを確認してください。このスレッド、あなたのシェルはあなたが受け取るべきシェルから変更されていません。

私は私のシェルがcshに変更され、問題が発生することがわかりました。

[root@localhost ~]# grep ^"$USER" /etc/passwd
root:x:0:0:root:/root:/bin/csh

bashに変更したところ、問題は解決しました!

[root@localhost ~]# type export
export is a shell builtin

これは、エラーメッセージが表示される理由を説明できますtype: Command not found.

私は次のコマンドを試しました。

[root@localhost ~]# csh
[root@localhost ~]# type export
type: Command not found.
[root@localhost ~]# bash
[root@localhost ~]# type export
export is a shell builtin
[root@localhost ~]# grep ^"$USER" /etc/passwd
root:x:0:0:root:/root:/bin/bash

答え3

最も可能性の高い理由は正しいものを持っていますが、PATH正しいものではないからですLD_LIBRARY_PATH

最新のgit実行可能ファイルは動的にリンクされたバイナリです。インストール手順に従ったときに.soライブラリ(ファイル)がに配置されている可能性があるため、このパスをに追加してgitを実行する/usr/local/lib必要があります。LD_LIBRARY_PATH

export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/usr/local/lib
git

これがうまくいかない場合はldd /usr/local/bin/gitありがとうございます。

PS:解決策がうまくいくと、LD_LIBRARY_PATH行.bash_profile

関連情報