検索
ホームページ運用・保守Linuxの運用と保守Linux ユーザーソースの .bashrc または .profile がファイルを見つけられない問題を解決する方法

    Linux ユーザー ソース .bashrc または .profile ファイルが見つかりません

    以前、debian でこの状況に遭遇しました。新しく追加されたユーザーは毎回ログインします。パスすべての例では、sh-42$ が通常に戻るには su - ユーザー名が必要であり、ユーザー ディレクトリ内の .bashrc やその他の設定ファイルを入手する方法がないため、一連の問題が発生していることがわかります。

    この場合、Linux のデフォルトの起動シェルが間違っている可能性が非常に高くなります。su をスーパー ユーザーに切り替え、vi /etc/passwd を使用して、そのユーザーの対応する起動シェルを表示し、他の一般ユーザーの起動シェルと比較して、異なる場合は同じになるように修正してください。 。

    たとえば、他の正常ユーザーのシェルが /bin/bash で、異常ユーザーのシェルが /bin/sh の場合、/bin/bash に変更します。

    Linux .bashrc .bash_profile と .profile の違い

    1 概要

    bash シェルは、環境変数を設定するためにいくつかの起動ファイルを使用します。これらの起動ファイルはシェルそのものです。システム ユーザーは特定の bash シェル構成を決定します。この記事では、.bashrc、.bash-profile、および .profile の違いを理解します。

    2 対話型シェルと非対話型シェル

    • Bash は、対話型シェルにログインと非ログイン (ログインと非ログイン) という 2 つのモード オプションを提供します。

    • ssh を使用してシステムにログインすると、対話型ログイン シェル (対話型ログイン シェル) が取得され、呼び出されたときに起動ファイルが読み取られます。

    • ただし、すでにログインしているシェル上で新しいシェルを呼び出すと、対話型の非ログイン シェルが得られます。このシェルは .bashrc ファイルのみを実行します

    シェルがコマンドを実行するために人間の介入を必要としない場合、それを非対話型シェルと呼びます。たとえば、スクリプトがコマンドを実行するためにサブシェルを生成する場合、そのサブシェルは非対話型シェルであり、サブシェルは起動ファイルを実行せず、サブシェルを作成したシェルから環境変数を継承します。

    3 bash 起動ファイル

    起動ファイルには、シェルの起動時に実行する必要があるコマンドが含まれています。したがって、シェルはこれらの起動ファイル内のコマンドを自動的に実行して、シェルをセットアップします。このプロセスは、コマンド プロンプトが表示される前に実行されます。

    3.1 .bash_profile の重要性

    .bash_profile ファイルには環境変数を設定するためのコマンドが含まれているため、シェルはこれらの変数を継承します。

    対話型ログイン シェルでは、bash は最初に /etc/profile ファイルを探します。見つかった場合、bash はそれを読み取り、現在のシェルで実行します。その結果、/etc/profile はすべてのユーザーの環境設定を設定します。

    同様に、bash はホーム ディレクトリ (ホーム ディレクトリとして cd ~ によって入力されたディレクトリ) に .bash_profile が存在するかどうかを確認します。存在する場合、bash は現在のシェルで .bash_profile を実行し、その後、Bash は .bash_login や .profile などの他のファイルの検索を停止します。

    bash が .bash_profile を見つけられない場合、.bash_login と .profile を順番に探し、最初の読み取り可能なファイルのみを実行します。

    サンプルの .bash_profile ファイルを見てみましょう。ここでは、PATH 変数をリセットしてエクスポートします

    echo "Bash_profile execution starts.."  
    PATH=$PATH:$HOME/bin; 
    export PATH; 
    echo "Bash_profile execution stops.."

    対話型シェルのコマンド プロンプトにログインする前に、次の出力が表示されます

    Bash_profile execution starts.. 
    Bash_profile execution stops.. 
    [example@example ~]$

    3.2 .bashrcの意味

    .bashrc には、bash シェルに固有のコマンドが含まれています。すべての対話型非ログイン シェルは最初に .bashrc を読み取ります。一般に、.bashrc はエイリアスと bash 関連の機能を追加するのに最適な場所です。

    bash シェルはホーム ディレクトリで .bashrc ファイルを検索し、ソースを使用して現在のシェルでそれを実行します。

    サンプルを通じて .bashrc ファイルについて理解しましょう

    echo "Bashrc execution starts.." 
    alias elui='top -c -u $USER' 
    alias ll='ls -lrt' 
    echo "Bashrc execution stops.."

    対話型非ログイン シェルのコマンド プロンプトの前に、次の出力が表示されます

    [example@example ~]$ bash
    Bashrc execution starts.. 
    Bashrc execution stops.. 
    [example@example ~]$

    3.2 .profile の意味

    対話型シェルのログイン プロセス中に、ホーム ディレクトリに .bash_profile が存在しない場合、bash は .bash_login を探します。 、bash がそれを実行します。 .bash_login がホーム ディレクトリに存在しない場合、bash は .profile を探して実行します。

    .profile は、.bash_profile または .bash_login と同じ構成を維持できます。どのプロンプトが表示されるか、キーボードの音、どのシェルを開くか、および /etc/profile ファイルに設定されている変数をオーバーライドする個々のプロファイル設定を制御します。

    4 違い

    bash シェルは、対話的にログインするたびに .bash_profile を実行します。 .bash_profile がホーム ディレクトリに見つからない場合、bash は .bash_login と .profile から見つかった最初の読み取り可能なファイルを実行します。ただし、対話型の非ログイン シェルが開始されるたびに、bash は .bashrc を作成します。

    通常、環境変数は .bash_profile に置かれます。対話型ログイン シェルは最初のシェルであるため、環境設定に必要なすべてのデフォルト設定は **.bash_profile** に入れられます。したがって、これらは 1 回だけ設定され、すべてのサブシェルに継承されます。

    同様に、エイリアスと関数も .bashrc に配置されます。既存の環境からシェルを起動するたびに、これらがロードされていることを確認してください。

    ただし、ログインと非ログインを避けるため、インタラクティブシェルのセットアップの違い。 .bash_profile は .bashrc を呼び出します。したがって、次のコード スニペットが **.bash_profile** に挿入され、すべての対話型ログイン シェルで .bashrc も同じシェルで実行されるようになります。

    if [ -f ~/.bashrc ];
    then 
        .  ~/.bashrc; 
    fi 
    PATH=$PATH:$HOME/bin export PATH

    注意:

    总而言之,在使用环境之前,shell需要其启动文件以配置shell环境。

    在本文中,我们检查了各种shell模式。然后,我们了解了各种bash启动文件的重要性。最后,我们检查了这些启动文件之间的差异。

    以上がLinux ユーザーソースの .bashrc または .profile がファイルを見つけられない問題を解決する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

    声明
    この記事は亿速云で複製されています。侵害がある場合は、admin@php.cn までご連絡ください。
    Linuxのメンテナンスモード:それを使用する時期と理由Linuxのメンテナンスモード:それを使用する時期と理由Apr 25, 2025 am 12:15 AM

    Linuxメンテナンスモードを使用するタイミングと理由:1)システムが起動するとき、2)主要なシステムの更新またはアップグレードを実行するとき、3)ファイルシステムメンテナンスを実行するとき。メンテナンスモードは、安全で制御された環境を提供し、運用上の安全性と効率を確保し、ユーザーへの影響を減らし、システムセキュリティを強化します。

    Linux:必須コマンドと操作Linux:必須コマンドと操作Apr 24, 2025 am 12:20 AM

    Linuxの不可欠なコマンドは次のとおりです。1.LS:リストディレクトリの内容; 2.CD:作業ディレクトリを変更します。 3.mkdir:新しいディレクトリを作成します。 4.RM:ファイルまたはディレクトリを削除します。 5.CP:ファイルまたはディレクトリをコピーします。 6.MV:ファイルまたはディレクトリの移動または名前を変更します。これらのコマンドは、カーネルと対話することにより、ユーザーがファイルとシステムを効率的に管理するのに役立ちます。

    Linux操作:ファイル、ディレクトリ、およびアクセス許可の管理Linux操作:ファイル、ディレクトリ、およびアクセス許可の管理Apr 23, 2025 am 12:19 AM

    Linuxでは、ファイルおよびディレクトリ管理ではLS、CD、MKDIR、RM、CP、MVコマンドを使用し、許可管理はCHMOD、CHOWN、およびCHGRPコマンドを使用します。 1。LS-Lなどのファイルおよびディレクトリ管理コマンドは、詳細情報、MKDIR-Pを再帰的に作成するディレクトリを再帰的に作成します。 2。CHMOD755FILEセットファイル許可、CHOWNUSERFILEファイル所有者、CHGRPGROUPFILEの変更ファイルグループなどの許可管理コマンド。これらのコマンドは、ファイルシステム構造とユーザーおよびグループシステムに基づいており、システムコールとメタデータを介して動作および制御します。

    Linuxのメンテナンスモードとは何ですか?説明したLinuxのメンテナンスモードとは何ですか?説明したApr 22, 2025 am 12:06 AM

    メンテナンスメモデンリンリンアスピアルブーテンビロンメント、criticalsystemmaincencetasks.itallowsadministratorstopertopertopertopersetstingtingpasswords、Repainingfilesystems、およびRecoveringfrombootfailurureSinaMinimalenvironment.

    Linux:基本的な部分に深く潜りますLinux:基本的な部分に深く潜りますApr 21, 2025 am 12:03 AM

    Linuxのコアコ​​ンポーネントには、カーネル、ファイルシステム、シェル、ユーザー、カーネルスペース、デバイスドライバー、パフォーマンスの最適化とベストプラクティスが含まれます。 1)カーネルは、ハードウェア、メモリ、プロセスを管理するシステムのコアです。 2)ファイルシステムはデータを整理し、Ext4、BTRFS、XFSなどの複数のタイプをサポートします。 3)シェルは、ユーザーがシステムと対話するためのコマンドセンターであり、スクリプトをサポートします。 4)システムの安定性を確保するために、ユーザースペースをカーネルスペースから分離します。 5)デバイスドライバーは、ハードウェアをオペレーティングシステムに接続します。 6)パフォーマンスの最適化には、システム構成とベストプラクティスのチューニングが含まれます。

    Linuxアーキテクチャ:5つの基本コンポーネントを発表しますLinuxアーキテクチャ:5つの基本コンポーネントを発表しますApr 20, 2025 am 12:04 AM

    Linuxシステムの5つの基本コンポーネントは次のとおりです。1。Kernel、2。Systemライブラリ、3。Systemユーティリティ、4。グラフィカルユーザーインターフェイス、5。アプリケーション。カーネルはハードウェアリソースを管理し、システムライブラリは事前コンパイルされた機能を提供し、システムユーティリティはシステム管理に使用され、GUIは視覚的な相互作用を提供し、アプリケーションはこれらのコンポーネントを使用して機能を実装します。

    Linux操作:メンテナンスモードを利用しますLinux操作:メンテナンスモードを利用しますApr 19, 2025 am 12:08 AM

    Linuxメンテナンスモードは、Grubメニューから入力できます。特定の手順は次のとおりです。1)GRUBメニューのカーネルを選択し、「E」を押して編集し、2)「Linux」行の最後に「シングル」または「1」を追加し、3)Ctrl Xを押して開始します。メンテナンスモードは、システム修理、パスワードリセット、システムのアップグレードなどのタスクに安全な環境を提供します。

    Linux:リカバリモード(およびメンテナンス)に入る方法Linux:リカバリモード(およびメンテナンス)に入る方法Apr 18, 2025 am 12:05 AM

    Linux Recoveryモードを入力する手順は次のとおりです。1。システムを再起動し、特定のキーを押してGrubメニューを入力します。 2。[RecoveryMode)でオプションを選択します。 3. FSCKやrootなどの回復モードメニューで操作を選択します。リカバリモードを使用すると、シングルユーザーモードでシステムを開始し、ファイルシステムのチェックと修理を実行し、構成ファイルを編集し、システムの問題を解決するのに役立ちます。

    See all articles

    ホットAIツール

    Undresser.AI Undress

    Undresser.AI Undress

    リアルなヌード写真を作成する AI 搭載アプリ

    AI Clothes Remover

    AI Clothes Remover

    写真から衣服を削除するオンライン AI ツール。

    Undress AI Tool

    Undress AI Tool

    脱衣画像を無料で

    Clothoff.io

    Clothoff.io

    AI衣類リムーバー

    Video Face Swap

    Video Face Swap

    完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

    ホットツール

    mPDF

    mPDF

    mPDF は、UTF-8 でエンコードされた HTML から PDF ファイルを生成できる PHP ライブラリです。オリジナルの作者である Ian Back は、Web サイトから「オンザフライ」で PDF ファイルを出力し、さまざまな言語を処理するために mPDF を作成しました。 HTML2FPDF などのオリジナルのスクリプトよりも遅く、Unicode フォントを使用すると生成されるファイルが大きくなりますが、CSS スタイルなどをサポートし、多くの機能強化が施されています。 RTL (アラビア語とヘブライ語) や CJK (中国語、日本語、韓国語) を含むほぼすべての言語をサポートします。ネストされたブロックレベル要素 (P、DIV など) をサポートします。

    VSCode Windows 64 ビットのダウンロード

    VSCode Windows 64 ビットのダウンロード

    Microsoft によって発売された無料で強力な IDE エディター

    SublimeText3 中国語版

    SublimeText3 中国語版

    中国語版、とても使いやすい

    ゼンドスタジオ 13.0.1

    ゼンドスタジオ 13.0.1

    強力な PHP 統合開発環境

    ZendStudio 13.5.1 Mac

    ZendStudio 13.5.1 Mac

    強力な PHP 統合開発環境