1. 程式人生 > >作業控制、shell變量、環境變量

作業控制、shell變量、環境變量

除了 數學 In mas tex 分享圖片 cto col min

一:作業控制

作業控制:
ctrl+z暫停,fg恢復進程,bg後臺運行進程,jobs查看被暫停或者在後臺運行的任務

二:shell變量

環境變量PATH:代替了所有常用命令的絕對路徑的設定。
echo $變量名 可以顯示變量的實際路徑

env:列出系統預設的全部環境變量。
技術分享圖片
PATH:決定了shell將到哪些目錄中尋找命令或程序
HOME:當前用戶主目錄
HISTSIZE:歷史記錄數
LOGNAME:當前用戶的登錄名
HOSTNAME:主機的名稱
SHELL:當前用戶shell類型
LANG:語言相關的環境變量,多語言可以修改此環境變量
MAIL:當前用戶的郵件存放目錄
PWD:當前目錄

env顯示的變量只是環境變量,系統預設的變量還有很多,用set把全部變量顯示出來。

set不僅可以顯示系統預設的變量,還可以顯示用戶自定義的變量。
自定義變量只在當前shell中生效。
讓自定義變量一直生效的辦法:

  1. 讓系統內所有用戶登陸後都能使用該變量
    在/etc/profile文件末行加入”export 自定義變量“
    然後source /etc/profile就可以了
  2. 只讓當前用戶使用該變量
    在用戶主目錄下的.bashrc文件末行加入“export 自定義變量”
    然後source .bashrc就可以了。

自定義變量規則:

  1. 設定變量的格式為a=b,a為變量名,b為變量內容,等號兩邊不能有空格
  2. 變量名只能由英,數字以及下劃線組成,且不能以數字開頭
  3. 變量內容帶有特殊字符時,需要加單引號 myname=‘leewill xu‘
  4. 變量內容本身帶有單引號時,需要給變量內容加雙引號 myname="leewill‘123"
  5. 變量內容用到其他命令運行結果時,用反引號 myname=pwd
  6. 變量內容可以累加其他變量內容,需要加雙引號 myname=“$LOGNAME” Aming

    export後不加任何變量名,則會聲明所有變量。
    取消變量:unset 變量名

自定義腳本變量:
數學計算:用[]括起來,外面加上$
保留小數:安裝bc yum install -y bc ,echo "scale=2:10/3"|bc #保留兩位小數
和用戶交互:read -p "please input a number:" x

腳本預設變量:$1,$2,表示執行的時候輸入的第一個,第二個值。$0表示腳本本身的名字。$#所有參數個數。

三:環境變量

系統和用戶的環境變量配置文件

  1. /etc/profile:這個文件預設了幾個重要變量,如PATH,USER,LOGNAME,MAIL,INPUTRC,HOSTNAME,umask等等
  2. /etc/bashrc:這個文件主要預設umask以及PS1,PS1就是命令前的那串字符。
    \u就是用戶,\h主機名,\W是當前目錄,\$就是#號了,普通用戶顯示為$.
  3. 除了兩個系統配置文件外,每個用戶的主目錄下還有隱藏文件
    .bash_profile:定義了用戶的個人化路徑與環境變量的文件名稱,每個用戶都可以使用該文件輸入專用自己使用的shell信息,當用戶登陸時,該文件僅僅執行一次。
  4. .bashrc:該文件包含專用於你的shell的bash信息,當登陸時以及每次打開新的shell時,該文件被讀取。例如可以將自定義alias或者自定義變量寫到該文件。
  5. .bash_history:記錄歷史命令用的。
  6. .bash_logout:當退出shell時,會執行該文件,可以把一些清理的工作放到該文件中。

作業控制、shell變量、環境變量