元のPATHを上書きしてコマンドが見つからないというメッセージが表示されるコマンド失敗の問題を解決する方法

元のPATHを上書きしてコマンドが見つからないというメッセージが表示されるコマンド失敗の問題を解決する方法

同僚から、LINUX サーバー上の多くのコマンドが (コマンドが見つかりません) というプロンプトで使用できない理由を解明してほしいと頼まれました。さらに悪いことに、多くのシステム サービスとスクリプトが実行できませんでした。質問させてください、これまで何をしてきましたか? 彼は、私も同じ操作を行っていて、/etc/profile ファイルに export PATH を追加しただけだと言って、どのように設定したのか尋ねました。 答えは次のとおりです。

[root@localhost ~]# vim /etc/profile 
PATH=/usr/lib/jenkins/ をエクスポートします。
[root@localhost ~]# ソース /etc/profile

彼は、Jenkins のデフォルトの作業ディレクトリを追加し、ソースを使用して構成ファイルを有効にしただけだと言いました。実際、問題はまさにここにあるのです。

PATH はシステム環境パスです。すべてのシステム コマンドとスクリプトの実行は、PATH パスに従って検索されます。しかし、 export PATH=/usr/lib/jenkins/とすると、(/bin/、/sbin などのシステム コマンドを格納するディレクトリなど) 以前にシステムによって設定されたすべてのディレクトリが上書きされ、jenkins の作業コマンドになります。 ls、pwd、cd などのシステム コマンドは、jenkins ディレクトリに確実に見つかりません。 その結果、すべてのコマンド、スクリプト、およびサービスが実行できなくなります。 これが、このひどい事件の主な原因です。

実際のシステム PATH を設定するにはどうすればいいですか?

短期的な設定の場合:

PATH=$PATH:/usr/lib/jenkins/ をエクスポートします。

長期設定の場合:

[root@localhost ~]# vim /etc/profile 
PATH=$PATH:/usr/lib/jenkins/ をエクスポートします。
[root@localhost ~]# ソース /etc/profile

この場合、元の PATH を上書きせずに、新しい検索パスが元の設定に追加されます。

要約する

以上がこの記事の全内容です。この記事の内容が皆様の勉強や仕事に何らかの参考学習価値をもたらすことを願います。123WORDPRESS.COM をご愛顧いただき、誠にありがとうございます。これについてもっと知りたい場合は、次のリンクをご覧ください。

以下もご興味があるかもしれません:
  • Linuxはjoin -a1を使用して2つのファイルを結合します
  • Linux でファイルを削除するときに「操作は許可されていません」というプロンプトが表示される場合の対処方法
  • Linux シェルコマンドは重複排除後の列の値をカウントします
  • Linux で履歴レコードを表示し、タイムスタンプを追加するためのヒント
  • LinuxのバックグラウンドでPythonプログラムを実行するいくつかの方法
  • Linux シェルスクリプトの作成と実行
  • PythonはLinuxを操作するためにparamikoを使用する
  • 2つのLinuxサーバー間でファイルとフォルダを転送する手順
  • Linuxターミナルでシェルスクリプトを実行して現在実行中のアプリのログを直接出力するAndroidの実装方法
  • Linux シェル環境での Zabbix API の使用

<<:  CocosCreator Huarongdaoデジタルパズルの詳しい説明

>>:  データベースを削除せずにMySQLのすべてのテーブルを素早く削除する方法

推薦する

docker run後、ステータスは常にExitedになります

追加するdocker run -it -name test -d nginx:latest /bin...

一目でわかる$nextTickの説明

目次1. 機能説明2. 親コンポーネント3. サブコンポーネント NextTick.vue 4なぜ未...

CentOS 7.5 に Docker をインストールする詳細なチュートリアル

Docker入門Docker は、アプリケーションをより速く配信するのに役立つオープンソースのコンテ...

Vue を通じて QR コードスキャン機能を実装する

ヒントこのプラグインは https プロトコルでのみアクセスできます。http プロトコルはうまく機...

前後の秒、分、時間、日数を取得するMySQLデータベース

現在の時刻を取得します: current_timestamp を選択します。出力: 2016-06-...

LinuxでIPアドレスを手動で設定するための詳細な手順

目次1.まずネットワークカードの設定ディレクトリに入る2. ifcfg-ens33ネットワークカード...

HTMLのフォントがline-heightを指定しても垂直方向に中央揃えできない問題の解決方法を詳しく説明します

による写真に示されている効果を例に挙げてみましょう。明らかに、「次へ」というテキストを水平方向だけで...

JavaScript キャンバス テキスト クロック

この記事では、テキストクロックを実装するためのキャンバスの具体的なコードを例として紹介します。具体的...

mysql 5.7.17 winx64.zip インストールと設定方法のグラフィックチュートリアル

はじめに: Windows 10 を再インストールし、同時にファイルを整理しました。しかし、MySQ...

MYSQLの文字セット設定方法(端末の文字セット)の詳しい説明

序文ターミナルを使用してデータベースまたはテーブルを作成するたびに、文字セットが latin1 であ...

HTML内のフレームセットタグが正常に表示されない原因の解析と解決方法

<frameset></frameset>は皆さんもよくご存知のものです。こ...

Vue は動的なプログレスバー効果を実現します

この記事では、動的なプログレスバー効果を実現するためのVueの具体的なコードを例として紹介します。具...

ウェブサイトのフロントエンドをエレガントでユーザーにとって魅力的なものにする方法

ウェブフロントエンドのウェブサイトの気質は感情であり、言葉なしでユーザーを魅了できる感情です。では、...

Navicat で MySQL データベースのパスワードを変更する複数の方法

方法1: SET PASSWORDコマンドを使用するまずMySQLにログインします。フォーマット: ...

CSS を使用して正方形の div を実装する 2 つの方法

目標: 辺の長さが等しい正方形を作成する方法 1: 単位 vw を使用する (ps これが最も簡単な...