作業控制、shell變量、環境變量
阿新 • • 發佈:2018-06-30
除了 數學 In mas tex 分享圖片 cto col min 一:作業控制
腳本預設變量:$1,$2,表示執行的時候輸入的第一個,第二個值。$0表示腳本本身的名字。$#所有參數個數。
作業控制:
ctrl+z暫停,fg恢復進程,bg後臺運行進程,jobs查看被暫停或者在後臺運行的任務
二:shell變量
環境變量PATH:代替了所有常用命令的絕對路徑的設定。
echo $變量名 可以顯示變量的實際路徑
env:列出系統預設的全部環境變量。
PATH:決定了shell將到哪些目錄中尋找命令或程序
HOME:當前用戶主目錄
HISTSIZE:歷史記錄數
LOGNAME:當前用戶的登錄名
HOSTNAME:主機的名稱
SHELL:當前用戶shell類型
LANG:語言相關的環境變量,多語言可以修改此環境變量
MAIL:當前用戶的郵件存放目錄
PWD:當前目錄
env顯示的變量只是環境變量,系統預設的變量還有很多,用set把全部變量顯示出來。
set不僅可以顯示系統預設的變量,還可以顯示用戶自定義的變量。
自定義變量只在當前shell中生效。
讓自定義變量一直生效的辦法:
- 讓系統內所有用戶登陸後都能使用該變量
在/etc/profile文件末行加入”export 自定義變量“
然後source /etc/profile就可以了 - 只讓當前用戶使用該變量
在用戶主目錄下的.bashrc文件末行加入“export 自定義變量”
然後source .bashrc就可以了。
自定義變量規則:
- 設定變量的格式為a=b,a為變量名,b為變量內容,等號兩邊不能有空格
- 變量名只能由英,數字以及下劃線組成,且不能以數字開頭
- 變量內容帶有特殊字符時,需要加單引號 myname=‘leewill xu‘
- 變量內容本身帶有單引號時,需要給變量內容加雙引號 myname="leewill‘123"
- 變量內容用到其他命令運行結果時,用反引號 myname=
pwd
-
變量內容可以累加其他變量內容,需要加雙引號 myname=“$LOGNAME” Aming
export後不加任何變量名,則會聲明所有變量。
取消變量:unset 變量名
自定義腳本變量:
數學計算:用[]括起來,外面加上$
保留小數:安裝bc yum install -y bc ,echo "scale=2:10/3"|bc #保留兩位小數
和用戶交互:read -p "please input a number:" x
三:環境變量
系統和用戶的環境變量配置文件
- /etc/profile:這個文件預設了幾個重要變量,如PATH,USER,LOGNAME,MAIL,INPUTRC,HOSTNAME,umask等等
- /etc/bashrc:這個文件主要預設umask以及PS1,PS1就是命令前的那串字符。
\u就是用戶,\h主機名,\W是當前目錄,\$就是#號了,普通用戶顯示為$. - 除了兩個系統配置文件外,每個用戶的主目錄下還有隱藏文件
.bash_profile:定義了用戶的個人化路徑與環境變量的文件名稱,每個用戶都可以使用該文件輸入專用自己使用的shell信息,當用戶登陸時,該文件僅僅執行一次。 - .bashrc:該文件包含專用於你的shell的bash信息,當登陸時以及每次打開新的shell時,該文件被讀取。例如可以將自定義alias或者自定義變量寫到該文件。
- .bash_history:記錄歷史命令用的。
- .bash_logout:當退出shell時,會執行該文件,可以把一些清理的工作放到該文件中。
作業控制、shell變量、環境變量