-
環境變量:
locale
查看全部 -
預定義變量:?
1、$?:最后一次執行的命令的返回狀態。?
如果這個變量的值為0,證明上一個命令正確執行;如果這個變量的值為非0(具體是哪個數,由命令自己來決定),則證明上一個命令執行不正確了。?
2、$$:當前進程的進程號(PID)。?
3、$!:后臺最后一個運行的進程的進程號(PID)。?
執行命令后在后面加一個& ,可以在后臺進行 執行完一條命令之后,立馬敲入echo $?,可得到返回值。例如:ls 執行之后,再敲入echo $?,可以得到0??
接收鍵盤輸入?
read [選項] [變量名]?
選項:?
-p "提示信息":在等待read輸入時,輸出提示信息?
-t 秒數:read命令會一直等待用戶輸入,使用此選項可以指定等待時間?
-n 字符數:read命令只接受指定的字符數,就會執行?
-s:隱藏輸入的數據,適用于機密信息的輸入
read.sh:?
#!/bin/bash?
read -p "please input your name:" -t 30 name?
echo $name?
read -p "please input your passwd:" -s passwd echo -e "\n"?
echo $passwd?
read -p "please input your sex [M/F]:" sex echo -e "\n"?
echo $sex
查看全部 -
1、位置參數變量?
$n:n 為數字,$0 代表命令本身,$1-$9 代表第一到第九個參數,十以上的參數需要用大括號包含,如 ${10}。?
$*:這個變量代表命令行中所有的參數,$* 把所有的參數看成一個整體。?
$@:這個變量也代表命令行中所有的參數,不過 $@ 把每個參數區分對待。?
$#:這個變量代表命令行中所有參數的個數。??
2、例子1:?
#!/bin/bash?
num1=$1?
num2=$2?
sum=$(($num1+$num2))?
?#變量 sum 的和是 num1 加 num2?
echo $sum?
?#打印變量 sum 的值?
執行腳本: $ ./test.sh 45 76?
3、例子2?
#!/bin/bash?
echo "A total of $# parameters"?
#使用 $# 代表所有參數的個數?
echo "The parameters is:$*"?
#使用 $* 代表所有的參數?
echo "The parameters is:$@"?
#使用 $@ 代表所有的參數?
執行腳本: $ ./test.sh 11 22 33 44??
4、例子3:$* 與 $@ 的區別?
#!/bin/bash?
for i in "$*"?
# $* 中所有參數看成是一個整體,所以這個 for 循環只會循環一次?
do
????echo "The parameters is:$i"?
done?
?for y in "$@"?
# $@ 中每個參數都看成是獨立的,所以 $@ 中有幾個參數,就會循環幾次?
do
????echo "Parameter:$y"?
done
查看全部 -
當前語系查詢:locale ?//直接生效的是LANG變量(默認語系) ?LC_ALL:定義整體語系(不常用)?
echo $LANG ? ?//當前語系環境?
echo $LC_ALL ?//整體語系環境?
locale -a | more 查看Linux支持的所有語系環境?
cat /etc/sysconfig/i18n ?centos7 cat /etc/locale.conf? //下次開機以后的系統環境
LANG=zh_CN.UTF-8?//切換成中文
查看全部 -
1、環境變量與用戶自定義變量的區別?
環境變量是全局變量,用戶自定義變量是局部變量。?
用戶自定義變量只在當前的 shell 中生效,環境變量在當前 shell 和這個 shell 的所有子 shell 中生效。?
用戶可以自定義環境變量,但對系統生效的環境變量名和變量作用是固定的。
2、用戶自定義環境變量?
$ export 變量名=變量值 或 $ 變量名=變量值 $ export 變量名
3、查看環境變量?
$ set 查看所有變量?
$ env 查看環境變量?
4、刪除環境變量?
$ unset 環境名??
5、常用的環境變量?
HOSTNAME:主機名?
SHELL:當前的 shell?
TERM:終端環境?
HISTSIZE:歷史命令條數?
SSH_CLIENT:當前操作環境是用 ssh 連接的,這里記錄客戶端 ip?
SSH_TTY:ssh 連接的終端是 pts/1?
USER:當前登錄的用戶?
PATH:系統搜索命令的路徑?
要想直接通過腳本名執行自己的腳本:?
(1)將腳本拷貝至 PATH 中的任意目錄下(不建議這樣做),例如: $ cp hello.sh /bin/?
(2)將腳本所在目錄添加到 PATH 變量中,例如: $ PATH="$PATH":/root/sh 但系統重啟后失效?
PS1:命令提示符設置?
\d:顯示日期,格式為"星期 月 日"?
\H:顯示完整的主機名?
\t:顯示 24 小時制時間,格式為"HH:MM:SS"?
\A:顯示 24 小時制時間,格式為"HH:MM"?
\u:顯示當前用戶名?
\w:顯示當前所在目錄的完整名稱?
\W:顯示當前所在目錄的最后一個目錄?
\$:提示符。root 用戶為"#",普通用戶為"$"
查看全部 -
1、變量=值 e.g. x=5 注意,變量名只能是字母、下劃線、數字組成且不能以數字開頭,=號左右不可有空格
2、""會解析特殊符號,例如$,''不會解析特殊符號?
3、引用變量:$變量名 ?例如:$x?
4、所有變量默認的值都是字符串類型,不可做Math運算?
5、變量疊加 e.g ?y="$x"123 ?或者 y=${x}123?
6、查看變量 set 會列出系統中所有的變量,包括環境變量和自定義變量 ? set -u //設定當調用不存在變量時,會提示錯誤?
7、刪除變量 unset 變量名 例如:unset x
查看全部 -
變量命名規則?
開頭為字符或下劃線,名字中間中能有字母、數字和下劃線組成;?
變量的長度不超過255個字符;?
變量名在有效的范圍內必須是唯一的; ?//如再次定義則會替換上一個變量的值?
在Bash中,變量的默認類型都是字符串型. ?//即系統把所有值都當作字符串放到變量中,不論這個“字符串”實際上是整數、浮點數等等
變量的分類
用戶自定義變量
環境變量
位置參數變量 ?//實際就是預定義變量
預定義變量
查看全部 -
變量只能是字母下劃線開頭,不能是數字開頭。
變量只能有字母,數字,下劃線組成。
查看全部 -
locale支持的語系 $LANG 當前支持的語系$LANG 默認支持的語系 支持的所有語系查看全部
-
環境變量,包含系統環境變量和自定義環境變量 系統環境變量,是操作系統,所使用的變量 注PS1 PATH查看全部
-
接收鍵盤輸入
查看全部 -
預定義變量
查看全部 -
$*? 與 $@? 的區別
查看全部 -
位置參數變量
查看全部 -
Linux中文支持
查看全部
舉報