變量命名規則linux
在Bash中,變量的默認類型都是字符串型shell
變量按照存儲數據分類ubuntu
日期型bash
shell變量分類dom
變量定義 變量名=變量值 # 等號左右不能有空格 如 name=tom 變量調用 echo $變量名 變量疊加 x=123 x="$x"456 x=${x}789 變量查看 set 選項: -u 若是設置此選項,調用未聲明變量時會報錯(默認無任何提示) 變量刪除 unset 變量名 如:unset name
環境變量與用戶自定義變量的區別 用戶自定義變量只在當前的shell中生效 環境變量在當前shell和這個shell的全部子shell中生效 功能說明:以樹狀圖顯示程序。 語 法:pstree [-acGhlnpuUV][-H <程序識別碼>][<程序識別碼>/<用戶名稱> 參 數: -a 顯示每一個程序的完整指令,包含路徑,參數或是常駐服務的標示。 -c 不使用精簡標示法。 -G 使用VT100終端機的列繪圖字符。 -h 列出樹狀圖時,特別標明如今執行的程序。 -H <程序識別碼> 此參數的效果和指定"-h"參數相似,但特別標明指定的程序。 -l 採用長列格式顯示樹狀圖。 -n 用程序識別碼排序。預設是以程序名稱來排序。 -p 顯示程序識別碼。 -u 顯示用戶名稱。 -U 使用UTF-8列繪圖字符。 -V 顯示版本信息。 補充說明:pstree指令用ASCII字符顯示樹狀結構,清楚地表達程序間的相互關係。若是不指定程序識別碼或用戶名稱,則會把系統啓動時的第一個程 序視爲基層,並顯示以後的全部程序。若指定用戶名稱,便會以隸屬該用戶的第一個程序看成基層,而後顯示該用戶的全部程序。 設置環境變量 export 變量名=變量值 或 變量名=變量值 export 變量名 查看環境變量 set #查看全部環境變量 env #查看環境變量 調用變量 echo $變量名 # 如 echo $name 刪除變量 unset 變量名 # 如 unset name
PATH環境變量工具
PATH變量:系統查找命令的路徑 echo $PATH #查看PATH環境變量 PATH="$PATH":/root/sh #增長PATH變量的值,等號兩邊不能有空格
PS1 環境變量字體
PS1變量:命令提示符設置 \d:顯示日期,格式爲「星期 月 日」 \H:顯示完整的主機名。如默認主機名「localhost.localdomain" \t:顯示24小時制時間,格式爲 「HH:MM:SS」 \A:顯示24小時制時間,格式爲 「HH:MM」 \u:顯示當前用戶名 \w:顯示當前所在目錄的完整名稱 \W:顯示當前所在目錄的最後一個目錄 \$:提示符。若是是root用戶會顯示提示符爲「#」,若是是普通用戶會顯示提示符爲「$」
locale # 查詢當前系統語序變量 locale -a #查看全部語系 locale -a | more LANG 定義系統主語序的變量 LC_ALL 定義總體語序的變量 echo $LANG #查看當前語系變量 echo $LC_ALL #查看總體語序的變量 cat /etc/sysconfig/i18n #查詢系統默認語系 cat /etc/default/locale #ubuntu系統下默認語言的文件 linux中文支持 前提條件,正確安裝的中文字體和中文語系: 若是有圖形界面,能夠正確支持中文顯示 若是使用第三方遠程工具,只要語系設置正確,能夠支持中文顯示 若是使用純字符界面,必須使用第三方插件(如zhcon等)
$n:n爲數字,$0表明命令自己,$1-$9表明第一道第九個參數, 十個以上的參數須要用大括號包含,如${10} $*:這個變量表明命令行中全部的參數,$*把全部參數看出一個總體 $@:這個變量也是表明命令行中全部參數,不過$@把每一個參數區分對待 $#:這個變量表明命令行中全部參數的個數
#!/bin/bash #加減乘除 (+-*/) x1=$1 operator=$2 x2=$3 echo "x1" $operator "x2 = " $(($x1 $operator $x2))
#!/bin/bash for i in "$*" #$*中全部參數當作一個總體,因此for循環只執行一次 do echo "The parameters is: $i" done for y in "$@" #$@中的每一個參數是獨立的,所以「$@」中有幾個參數,就會執行幾回 do echo "Parameter:$y" done echo $#
$?:最後一次執行的命令的返回狀態。若是這個變量的值爲0,證實上一個命令正確執行; 若是這個變量的值爲非0(具體是哪一個數,由命令本身來決定),則證實上一個命令執行不正確。 $$:當前進程的進程號(PID) $!:後臺運行的最後一個進程的進程號(PID)
echo $$ #返回當前進程號 7588 ps aux | grep 7588
#!/bin/bash echo "current PID: $$" find / -name hello.sh & #&爲放入後臺 echo "backgroud: $!"
接受鍵盤輸入 read [選項] [變量名] 選項: -p:「提示信息」:在等待read輸入時,輸出提示符信息 -t 秒數:read命令會一直等待用戶輸入,使用此選項能夠指定等待時間 -n 字符個數:read命令只接受指定的字符數,就會執行 -s:隱藏輸入的數據,適用於機密信息的輸入
#!/bin/bash read -p "please input your name: " -t 30 name echo -e "\n$name" read -p "please input your passwd: " -s passwd echo -e "\n$name" read -p "please input your angend [M/F]: " -n 1 sex echo $sex