元の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のすべてのテーブルを素早く削除する方法

推薦する

MySQLを水平から垂直に、垂直から水平に変換する方法

データの初期化 `test_01` が存在する場合はテーブルを削除します。 テーブル「test_01...

node.jsのコアモジュールとは

目次グローバルオブジェクトグローバルオブジェクトとグローバル変数プロセスコンソール一般的なツールユー...

MySQLで自動作成時間と変更時間を設定する方法の例

この記事では、MySQL の自動作成時刻と変更時刻を設定する方法について説明します。ご参考までに、詳...

MySQLデータベースのトランザクションとインデックスの詳細な説明

目次1. 事務:取引の 4 つの主な特徴:同時トランザクションはどのような問題を引き起こしますか? ...

Vue で $props、$attrs、$listeners を使用する方法の詳細な説明

目次背景1. 文書の説明2. 特定の用途結論背景ここで、状況について説明しましょう。親コンポーネント...

Webpackを使用して複数ページのプログラムを構築するための実装手順

webpack を使用してシングルページのプログラムを構築することは非常に一般的ですが、実際の開発で...

Webpack ファイル パッケージ化エラー例外

webpack をパッケージ化する前に、次の作業が完了していることを確認する必要があります。 1) ...

WeChatアプレットでラッキーホイールゲームを実装する方法

ここでは主に、WeChat アプレットでラッキーホイール ゲームを開発する方法を紹介します。主に J...

Linux カーネル デバイス ドライバー キャラクタ デバイス ドライバー ノート

/******************** * キャラクターデバイスドライバー**********...

Web プロジェクトでの SQL インジェクションの防止

目次1. SQLインジェクションの概要2. SQLインジェクション攻撃の全体的な考え方SQLインジェ...

Bootstrap 3.0 学習ノート グリッドシステム事例

序文前回の記事では、主にグリッドシステムの基本原理を学び、簡単なケースを通してその原理を実践しました...

Linux ソースコードの解析 epoll

目次1. はじめに2. シンプルなepollの例2.1、epoll_create 2.2、構造体イベ...

LINUX での IPTABLES ファイアウォールの基本的な使用方法のチュートリアル

序文パブリック IP を持つ本番 VPS の場合、必要なポートのみが開かれ、IP とポートを制御する...

HTML の div、td、p およびその他のコンテナーでの強制改行と非改行の実装

1. 改行を強制せず、省略記号で終了します。コードをコピーコードは次のとおりです。 <div ...

Apple Watchのインタラクションデザインにおける4つの全く異なる体験が明らかに

今日も Watch アプリのデザインに関する話です。私はケーススタディが大好きなので、同じトピックを...