SHELL腳本攻略(學習筆記)--1.5 bash環境配置流程

来源:http://www.cnblogs.com/f-ck-need-u/archive/2017/07/24/7229025.html
-Advertisement-
Play Games

站在用戶登錄的角度來說,shell分為兩種類型: 登錄式shell:如通過某終端登錄,使用su - username命令切換用戶。 非互動式shell:如使用su username命令切換用戶;圖形終端下打開命令終端;shell腳本。 更簡單但不精確的區分方法是:不需要輸入賬號密碼才能登陸的shel ...


站在用戶登錄的角度來說,shell分為兩種類型:

登錄式shell:如通過某終端登錄,使用su - username命令切換用戶。

非互動式shell:如使用su username命令切換用戶;圖形終端下打開命令終端;shell腳本。

更簡單但不精確的區分方法是:不需要輸入賬號密碼才能登陸的shell的都是非互動式shell,如子shell、腳本shell、圖形終端下打開的命令視窗,但su username除外。

bash的環境配置文件:

全局配置:/etc/profile、/etc/profile.d/*.sh、/etc/bashrc。

個人配置:~/.bash_profile、~/.bashrc。

讀取和執行這些環境配置文件是有順序的,如果設置有衝突,則後讀取的配置文件覆蓋先讀取的。

讀取配置文件流程:

登錄式shell讀取環境配置文件的順序是:

(1)/etc/profile-->/etc/profile.d/*.sh
(2)~/.bash_profile-->~/.bashrc-->/etc/bashrc

即先讀取全局配置文件/etc/profile,再讀取用戶配置文件~/.bash_profile。但/etc/profile文件會調用/etc/profile.d/目錄下的所有.sh文件,~/.bash_profile會調用~/.bashrc文件,~/.bashrc又會調用/etc/bashrc文件。其實/etc/bashrc還會調用/etc/profile.d/*.sh,但不會重覆設置已設置過的選項。

非登錄式shell讀取環境配置文件的順序是:

~/.bashrc-->/etc/bashrc-->/etc/profile.d/*.sh

 如圖:

也就是說:

/etc/profile:任意用戶登陸時讀取。非登錄式shell不會讀取。

~/.bash_profile:對應用戶登陸時讀取,用以配置將要打開的bash shell。非登錄式shell不會讀取。

~/.bashrc:關於bash shell的配置,對應的用戶每次打開一個shell都會讀取該文件,因為登錄式或非登錄式shell都會讀取該文件。

/etc/bashrc:(所有用戶)每次打開一個shell(登錄式或非登錄式)都會讀取該文件。

回到系列文章大綱:http://www.cnblogs.com/f-ck-need-u/p/7048359.html

轉載請註明出處:http://www.cnblogs.com/f-ck-need-u/p/7229025.html

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • sed編輯器被稱作流編輯器(stream editor),和普通的互動式文本編輯器恰好相反。在互動式文本編輯器中(比如vim),你可以用鍵盤命令來互動式的插入、刪除或者替換數據中的文本。流編輯器則會自愛編輯器處理數據之前基於預習提供的一組規則來編輯數據流。 sed編輯器可以根據命令來處理數據流中的數 ...
  • 大話命令之—ss ss是Socket Statistics的縮寫。顧名思義,ss命令可以用來獲取socket統計信息,它可以顯示和netstat類似的內容。 優勢: (1)顯示更多更詳細的有關TCP和連接狀態的信息,(2)比netstat更快速更高效。 1 格式 格式:ss [option]… [f ...
  • grep簡介 grep 是一種強大的文本搜索工具,它能使用正則表達式搜索文本,並把匹配的行列印出來。通常grep有三種版本grep、egrep(等同於grep -E)和fgrep。egrep為擴展的grep,fgrep則為快速grep(固定的字元串來對文本進行搜索,不支持正則表達式的引用但是查詢極為 ...
  • 進入vi的命令 vi filename :打開或新建文件,並將游標置於第一行首 vi +n filename :打開文件,並將游標置於第n行首 vi + filename :打開文件,並將游標置於最後一行首 vi +/pattern filename:打開文件,並將游標置於第一個與pattern匹配 ...
  • 前言 在安裝後hadoop之後,接下來需要安裝的就是Spark。 scala 2.11.7下載與安裝 具體步驟參見 "上一篇博文" Spark下載 為了方便,我直接是進入到了/usr/local文件夾下麵進行下載 Spark安裝之前的準備 文件的解壓與改名 為了我後面方便配置 ,在這裡我把文件夾的名 ...
  • 回到目錄 一般地,我們在VS里添加了一個解決方案之後,會更新模塊或者業務添加多個api,web項目,這類似於最近說的微服務,而我們的docker-compose與微軟體正好有了一種默契,當你為你的解決方案添加docker支持之後,你會發佈有個docker-compose出現了,它會把所有可以發佈的項 ...
  • 本文目錄: 1.4.1 環境變數 1.4.2 普通變數 1.4.3 修改變數的生命周期和作用域 1.4.4 獲取變數的長度 1.4.5 declare聲明變數 1.4.6 位置變數和特殊變數 1.4.7 shift輪替變數 1.4.8 shell其它基礎 1.4.9 變數的切分、提取和替換 變數存在 ...
  • 充分發揮Nginx的高效性和穩定性,對於Nginx優化非常重要。下麵主要是從編譯安裝、第三方插件、系統內核等三方面介紹。 編譯安裝過程優化 1、減小Nginx編譯後的文件大小 在編譯Nginx時,預設是以debug模式進行,而在debug模式下會插入很多跟蹤和ASSERT之類的信息,編譯完後,一個N ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...