Linux 環境変数の設定方法のまとめ (.bash_profile と .bashrc の違い)

Linux 環境変数の設定方法のまとめ (.bash_profile と .bashrc の違い)

Linux では、アプリケーションをダウンロードしてインストールすると、起動時にアプリケーション名を入力すると「コマンドが見つかりません」というメッセージが表示される可能性が高くなります。毎回インストール先のフォルダに移動して実行ファイルを探すと

操作を実行するのが面倒すぎる。この場合、環境変数 PATH の設定が関係しており、PATH の設定は Linux での環境変数のカスタマイズの不可欠な部分でもあります。

環境変数を設定する 2 つの方法:

1) /etc/profileファイルを変更する

この方法は、すべてのユーザーのシェルがこれらの環境変数にアクセスできるため推奨されます。欠点は、システムにセキュリティ上の問題を引き起こす可能性があることです。 これはすべてのユーザー、すべてのシェルに適用されます。

[root@test ~]# vim /etc/profile
....
エクスポート PATH=$PATH:/usr/local/mysql/bin

変更をすぐに有効にするには、source コマンドを使用します。
[root@test ~]# ソース /etc/profile

2) .bashrc ファイルを変更します。この方法はより安全です。これらの環境変数を使用する権限をユーザー レベルで制御できます。ここでは特定のユーザーを対象としています。これらの環境変数を使用する権限をユーザーに付与する必要がある場合は、個人ユーザーのホーム ディレクトリにある .bashrc ファイルを変更するだけで済みます。
[root@test ~]# vim /root/.bashrc
エクスポート PATH=$PATH:/usr/local/mysql/bin

[root@test ~]# ソース /root/.bashrc

以下の点に注意してください。

/etc/profile でシステム環境変数を設定する場合、パスを「/」で終わらせることはできません。そうしないと、PATH 変数全体が間違ったものになります。

[app@test ~]$ vim ~/.bashrc
......
KETTLE_HOME=/data/nstc/kettle3.2
KETTLE_HOMEをエクスポートする

注意: 環境変数を設定した後は、変数をエクスポートすることを忘れないでください。そうしないと、ソースが次のようになると無効になります。
[app@test ~]$ source .bashrc //有効にする
[app@test ~]$ echo $KETTLE_HOME
/data/nstc/ケトル3.2
[アプリ@テスト ~]$ 環境
.........
KETTLE_HOME=/data/nstc/kettle3.2

.bash_profile と .bashrc の違い:

/etc/profile: このファイルは、システムの各ユーザーの環境情報を設定します。ユーザーが初めてログインすると、このファイルが実行されます。/etc/profile.d ディレクトリ内の設定ファイルからシェル設定を収集します。
/etc/bashrc: このファイルは、bash シェルを実行する各ユーザーに対して実行されます。このファイルは、bash シェルが開かれたときに読み取られます。
~/.bash_profile: 各ユーザーはこのファイルを使用して、自分専用のシェル情報を入力できます。ユーザーがログインすると、このファイルは 1 回だけ実行されます。デフォルトでは、いくつかの環境変数を設定し、ユーザーの .bashrc ファイルを実行します。
~/.bashrc: このファイルには、bash シェルに固有の bash 情報が含まれています。ログイン時および新しいシェルを開くたびに読み込まれます。
~/.bash_logout: このファイルは、システムからログアウトするたびに (bash シェルを終了するたびに) 実行されます。

また、/etc/profile に設定された変数(グローバル)はどのユーザーにも適用できますが、~/.bashrc やその他の場所(ローカル)に設定された変数は、/etc/profile の変数のみを継承します。つまり、両者は「親子」の関係にあります。

==========================端末ログインタイムアウトを設定する=================

Linux サーバーにリモートでログインするときに、ターミナルの有効期限 (つまり、操作がない場合にターミナルが無効になるまでの時間) を設定する方法。方法は次のとおりです。
[root@mq-console-nameserver ~]# vim /etc/profile
......
エクスポート TMOUT=600
[root@mq-console-nameserver ~]# ソース /etc/profile

上記設定後、本サーバーにログインした端末が10分以内に何の操作も行わない場合、端末は無効となります。

要約する

以上でLinux環境変数設定方法のまとめ(.bash_profileと.bashrcの違い)についての記事は終了です。Linux環境変数設定に関するより詳しい内容は、123WORDPRESS.COMの過去記事を検索するか、以下の関連記事を引き続き閲覧してください。今後とも123WORDPRESS.COMをよろしくお願いいたします!

以下もご興味があるかもしれません:
  • Linux の .bash_profile と .bashrc の違いは何ですか
  • Linux システムの .bash_profile ファイルの詳細な説明

<<:  jQuery を使用してカルーセル効果を実装する

>>:  MySQL ストアド プロシージャにおけるループ ステートメント (WHILE、REPEAT、LOOP) の使用法の分析

推薦する

Hbase 入門

1. HBaseの概要1.1 HBaseとはHBase は、高い信頼性、高いパフォーマンス、列ストレ...

Ubuntu 19 以下に Android Studio をインストールするチュートリアル

過去の経験から言うと、タスクを完了した後にメモを取るのは良い習慣です。インストール環境はUbuntu...

CSS3 アニメーション ボールローリング JS コントロールアニメーション一時停止

CSS3 はアニメーションを作成でき、多くの Web ページのアニメーション画像、Flash アニメ...

HTML 基本構造_Powernode Java アカデミー

多くの場合、Web ページ開発を学ぶときに最初に印象に残るのは、html または htm サフィック...

純粋な CSS でマークダウンの自動番号付けを実装するサンプル コード

問題の起源私がタイトルの番号付けの問題に初めて注目したのは、学部の論文を書いていた頃まで遡ります。当...

複数の値を返す MySQL ストアド プロシージャ メソッドの例

この記事では、例を使用して、MySQL ストアド プロシージャで複数の値を返す方法について説明します...

vue+node+socket ioは複数人のインタラクションを実現し、プロセス全体を解放します

1. 背景1. フロントエンドはvue + vuex + socket.io-clientを使用しま...

マウスを動かしたときにセカンダリメニューバーを実装するために HTML+CSS を使用する例

この記事では、マウスを動かしたときにセカンダリ メニュー バーを実装するために HTML+CSS を...

Linux コマンドにおける Ctrl+z、Ctrl+c、Ctrl+d の違いと使い方

Linux で Ctrl+c、Ctrl+d、Ctrl+z はどういう意味ですか? Ctrl+c と ...

ミニプログラムの基本的な使用方法の知識ポイント(非常に包括的で、お勧めです!)

目次アプリを登録するときに何をすればよいですか?ページを登録するときに通常何をする必要がありますか?...

docker-compose を使用して Apollo カスタム環境をデプロイする詳細なチュートリアル

目次アポロ コンフィギュレーション センターとは何ですか?アポロの特徴クライアントアーキテクチャアー...

エージェントを介したzabbix監視プロセスとポートの詳細なプロセス

環境の紹介オペレーティングシステム: Centos 7.4 Zabbix バージョン: zabbix...

Jenkins Docker 静的エージェント ノードのビルド プロセス

静的ノードはマシン上に固定されており、いくつかの固定コマンドを通じて起動されます。動的ノードには複数...

Linux 向けの強化されたスクリーンショットと共有ツール: ScreenCloud

ScreenCloud は、必要だとは思わなかった素晴らしい小さなアプリです。デスクトップ Lin...