RHELのソースからgitをインストールする必要がありました。インストール後、whereis
コマンドを実行すると、gitコマンドが/usr/local/bin/git
にあることが示されます。このパスは$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コマンドが機能することがわかりました。何が原因で動作し始めたのかわかりません。これは紛らわしいです。
コメント
回答
(t)cshを使用しているエラーメッセージから。特に$
プロンプトとして、これは「従来、cshプロンプトではなく、Bourneプロンプトです。
type
は、Bourneスタイルのシェルに組み込まれています。 tはcshに存在します。 type git
を実行すると、type
コマンドが見つからないことが通知されます。
多くのシェルはキャッシュ内の検索パス内のコマンドの場所。 cshのいずれかのバージョンがネガティブルックアップをキャッシュするかどうかはわかりませんが、キャッシュがあるようです。コマンドrehash
を実行してキャッシュを更新します。新しいシェルインスタンスを起動すると、キャッシュが更新されます。新しいキャッシュがあるため、git
が以前に存在していなかったことを覚えていません。
コメント
- こんにちはGilles、私はシェルについて言及すべきでした。そのために残念。しかし、bashとtcshの両方のプロンプトで$を取得します。 tschでは[username @ systemname] $形式であり、bashではbash-3.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
コメント
- シェルをbashに変更すると、 ' type 'コマンドが機能するようになりました。gitコマンドはbashに入らなくても機能するようになりました。理由はわかりません!編集をご覧ください。
回答
最も可能性の高い理由は、正しいPATH
がありますが、正しい。
最新のgit
実行可能ファイルは、動的にリンクされたバイナリファイルです。インストール手順に従うと、ライブラリ(.so
ファイル)が/usr/local/lib
に配置されている可能性があります。このパスを、
。試してからgitを実行してください:
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/usr/local/lib git
それが機能しない場合は、ldd /usr/local/bin/git
の出力を提供してください。 。ありがとう。
PS:ソリューションが機能した場合は、LD_LIBRARY_PATH行を.bash_profile
に追加する必要があります。 div>
type git
、、ls -l /usr/local/bin/git
出力。file
を意味し、type
ではないと思います;-)だから彼は望んでいます(そして私も)file /usr/local/bin/git
type
は、bash
およびzsh
。ksh
を使用する場合、それを知らないという良い言い訳があるかもしれません。 (私のksh
には、type
という名前のwhence
のエイリアスがあります。そのような設定がどれほど普及しているかを確認してください。) pastebin.com/VzScxzRg