-
變量調(diào)用:
格式:echo $變量名
Linux所有變量的值都是字符串類型的
查看全部 -
Base定義變量:
格式:變量名=變量值,=兩邊不能出現(xiàn)空格,變量名由字母、數(shù)字。下劃線組成,且不能以數(shù)字開頭。
查看全部 -
變量的分類
查看全部 -
shell變量命名規(guī)則
查看全部 -
不管是PHP ,還是JAVA ,它是用來(lái)編寫應(yīng)用程序的,或是網(wǎng)站; JAVA主要是實(shí)現(xiàn)服務(wù)端程序。 而shel編程,它是一個(gè)腳本語(yǔ)言(所見即所得)。它不需要執(zhí)行編譯過程之后再執(zhí)行;它是編譯過程放在執(zhí)行過程中,所以,執(zhí)行起來(lái)要慢得多
SHELL,主要是幫助管理員,簡(jiǎn)化管理操作。 比如,批量增加用戶,定時(shí)備份腳本,批量記錄什么LOG.....
查看全部 -
1.1、文件測(cè)試運(yùn)算符
操作符 ? 說(shuō)明 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?舉例
-d file ? 檢測(cè)文件是否是目錄,如果是,則返回 true。 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?[ -d $file ] 返回 false
-f file ? 檢測(cè)文件是否是普通文件(既不是目錄,也不是設(shè)備文件),如果是,則返回 true。? ? ? ? [ -f $file ] 返回 true
-e file ? 檢測(cè)文件(包括目錄)是否存在,如果是,則返回 true。 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?[ -e $file ] 返回 true。
1.2、關(guān)系運(yùn)算符: -eq -ne -gt -lt -ge -le 真則返回true
布爾運(yùn)算符: 非:! 或:-o 與:-a 真則返回true
邏輯運(yùn)算符: && 邏輯與 || 邏輯或
字符串運(yùn)算符: (1)=: 字符串相等 (2)-z:長(zhǎng)度是否為0:[ -z $a ] 返回 false。 (3)-n 字符串長(zhǎng)度是否為0,不為0返回 true。 [ -n "$a" ] 返回 true。 (3)[$a]不為空返回true
2、多行注釋
:<<EOF
注釋內(nèi)容...
注釋內(nèi)容...
注釋內(nèi)容...
EOF
3、傳參:
?$0 為執(zhí)行的文件名
?$# 傳遞到腳本的參數(shù)個(gè)數(shù)
?$* 以一個(gè)單字符串顯示所有向腳本傳遞的參數(shù)。
?$@ 與$*相同,但是使用時(shí)加引號(hào),并在引號(hào)中返回每個(gè)參數(shù)。
?
4、數(shù)組
使用@ 或 * 可以獲取數(shù)組中的所有元素:${my_array[*]} 或? ${my_array[@]}
獲取數(shù)組長(zhǎng)度的方法與獲取字符串長(zhǎng)度的方法相同:${#my_array[*]}
5、echo命令
(1)read命令例子:
#!/bin/sh
read -p "請(qǐng)輸入一段文字:" -n 6 -t 5 -s password
echo -e "\npassword is $password"?
參數(shù)說(shuō)明:
?-p 輸入提示文字
?-n 輸入字符長(zhǎng)度限制(達(dá)到6位,自動(dòng)結(jié)束)
?-t 輸入限時(shí)
?-s 隱藏輸入內(nèi)容
(2)顯示換行
echo -e "OK! \n" # -e 開啟轉(zhuǎn)義
echo "It is a test"
(3)顯示不換行
#!/bin/sh
echo -e "OK! \c" # -e 開啟轉(zhuǎn)義 \c 不換行
echo "It is a test"
(4)顯示結(jié)果定向至文件
echo "It is a test" > myfile
(5)顯示命令執(zhí)行結(jié)果:echo `date`
6、代碼中的 [] 執(zhí)行基本的算數(shù)運(yùn)算
7、if else-if else 語(yǔ)法格式:
if condition1
then
? ? command1
elif condition2?
then?
? ? command2
else
? ? commandN
fi
8、for循環(huán)一般格式為:
for var in item1 item2 ... itemN
do
? ? command1
? ? command2
? ? ...
? ? commandN
done
寫成一行:
for var in item1 item2 ... itemN; do command1; command2… done;
9、while語(yǔ)句:
#!/bin/bash
int=1
while(( $int<=5 ))
do
? ? echo $int
? ? let "
int++"
done
10、函數(shù):函數(shù)返回值在調(diào)用該函數(shù)后通過 $? 來(lái)獲得。
#!/bin/bash
# author:菜鳥教程
# url:www.runoob.com
funWithReturn(){
? ? echo "這個(gè)函數(shù)會(huì)對(duì)輸入的兩個(gè)數(shù)字進(jìn)行相加運(yùn)算..."
? ? echo "輸入第一個(gè)數(shù)字: "
? ? read aNum
? ? echo "輸入第二個(gè)數(shù)字: "
? ? read anotherNum
? ? echo "兩個(gè)數(shù)字分別為 $aNum 和 $anotherNum !"
? ? return $(($aNum+$anotherNum))
}
funWithReturn
echo "輸入的兩個(gè)數(shù)字之和為 $? !"
11、輸入/輸出重定向(認(rèn)真看筆記:http://www.runoob.com/linux/linux-shell-io-redirections.html)
如果希望執(zhí)行某個(gè)命令,但又不希望在屏幕上顯示輸出結(jié)果,那么可以將輸出重定向到 /dev/null:
$ command > /dev/null
如果希望屏蔽 stdout 和 stderr,可以這樣寫:
$ command > /dev/null 2>&1
12、文件包含
查看全部 -
pstree查看進(jìn)程樹查看全部
-
unset 變量名:刪除變量查看全部
-
set,查詢系統(tǒng)下所有變量查看全部
-
變量默認(rèn)字符串,無(wú)法運(yùn)算,需要方法 ‘’和“”區(qū)別:‘’使里面的符號(hào)僅僅是符號(hào),失去意義查看全部
-
查看系統(tǒng)默認(rèn)語(yǔ)系 (永久配置)
cat /etc/sysconfig/i18n
centos7 cat /etc/locale.conf
純字符界面并不支持中文?。芡ㄟ^遠(yuǎn)程工具或插件實(shí)現(xiàn)中文的支持)
查看全部 -
位置參數(shù)變量
查看全部 -
read用法
查看全部 -
預(yù)定義變量
查看全部 -
PS1環(huán)境變量
查看全部
舉報(bào)