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

推薦する

Vscode が Ubuntu にリモート接続する際のエラー問題の解決方法

1. 事件の背景:仕事上、Ubuntu への vscode リモート接続を使用する必要があります。 ...

ページスピードの最適化の概要

インターネットは人々の生活にますます欠かせないものになってきていると思います。 Ajax や fle...

CSS フレックスベースのテキストオーバーフロー問題の解決方法

重要でないflex-basisテキストオーバーフローに省略記号を追加するという小さな機能に多くの問題...

データベース管理における 19 の MySQL 最適化方法

MySQL データベースを最適化すると、データベースの冗長性を削減できるだけでなく、データベースの実...

div ボックス モデルの使用経験の概要

ボックスモデルの計算<br />マージン + ボーダー + パディング + コンテンツC...

Vue.js ドロップダウン コンポーネント付きテキストボックス

ドロップダウン付きのテキストボックスを使用すると、ユーザーはドロップダウン リストから入力を選択した...

mysql 8.0.19 win10 クイックインストールチュートリアル

このチュートリアルでは、参考までにMySQL 8.0.19のインストールチュートリアルを共有します。...

クールな花火効果を実現するjs

この記事では、jsを使用してクールな花火効果を実現するための具体的なコードを参考までに共有します。具...

OpenLayers 3 のベクターマップソースの読み込みの問題を解決する

1. ベクターマップベクター グラフィックスは直線と曲線を使用してグラフィックスを表します。これらの...

vue backtop コンポーネントを実装するための完全なコード

効果: コード: <テンプレート> <div class="back-t...

Linux の PHP に XML 拡張機能をインストールする詳細な手順

PHP Linux に XML 拡張機能をインストールする1. PHPインストールソースパッケージを...

純粋な CSS で「テキストオーバーフローの切り捨てと省略」を実装するいくつかの方法

私たちの日常的な開発作業では、テキストのオーバーフロー、切り捨て、省略は、考慮する必要がある非常に一...

geoip を使用して nginx で地域を制限する方法

このブログは仕事のメモです環境: nginx バージョン: nginx/1.14.0 Centos ...

vue-routerのマッチングに基づいてパンくずリスト機能を実現する

この記事では主にvue-routerのmatchedをベースにしたbreadcrumb機能を紹介し、...