if [ 1 -eq 1 ] -a [ 2 == 2 ]; then echo "true"; elif [ 1 -lt 2 ] -o [ 3 -gt 4 ]; then echo "***" ; else echo "false"; fi (> -gt;< -lt;>= -ge;<= -le;== -eq;!= -ne;-a &&; -o ||)
if [ -f 1.sh ] && echo "1.sh exists"
if [ ! -e 1.sh ];then echo "1.sh exist";fi (-e 檔案或目錄; -f 檔案 ;-d 目錄;-r 可讀;-x 可執行;-w 可寫 -h
用來判斷檔案是否存在並且是乙個符號鏈結;-z 為空 )
case $x in
0)
echo "***"
;;
1)esacecho "yyy"
;;
*)
echo "eee"
;;
for f in `ls -d /etc/`
do
if [ -d /etc/$f ]donethen
echo "/etc/$f"
fi
while :
do
echo "ok"donesleep 20
sum()
s=`sum 1 2`
echo "$s"
echo "acbc" | wc -l
sh 1.sh abc efg;
$1=abc;
$2=efg;
$#=2;
$0=1.sh ;$?=1
echo "a=1 b=2 c=3 d=4" | awk '' | awk -f'[=]' ''
sed -i 's/bc/yy/' 1.txt
date +%y-%m-%d y :兩位年份 ; y:兩位年份 ; m:月份 ; d:日期 ; h:時; m:分; s:秒 ; s:時間戳(秒);w :周;f:年-月-日;t:時:分秒
date -d "+1 month" +"%f %t"
(sec,min,hour,day,week,month,year)
sh -x 1.sh
echo `expr 123 + 456` ; echo "123+456"|bc;$[$a+$b];
a=1;
b=2;
echo `expr $a + $b`
a=1;
echo "$a" 輸出 1;
echo '$a' 輸出$a
單引號裡面是什麼就輸出什麼,雙引號裡面可以使用變數
echo `expr 123 + 456` 輸出579
反引號輸出裡面命令執行的結果
首先etc下的是所有使用者共有的配置檔案,~ 下的只屬於某個使用者
.bash_profile 在登陸的時候呼叫比如通過ssh 或 su -,.bashrc在開啟shell的時候呼叫,比如 bash命令或執行某個指令碼
"[[",是關鍵字,許多shell(如ash bsh)並不支援這種方式。
"["是一條命令, 與test等價,大多數shell都支援
[[ ... && ... && ... ]] 和 [ ... -a ... -a ...] 不一樣,[[ ]] 是邏輯短路操作,而 [ ] 不會進行邏輯短路
[[ ... ]]進行算術擴充套件,而[ ... ]不做
[[...]]中"<"與">"不需轉義,
&&,|| 在[[...]]可直接使用[...]會報錯
在bash中,數字的比較最好使用 (( )),雖說可以使用 [[ ]],但若在其內使用運算子 >、>=、<、<=、==、!= 時,其結果經常是錯誤的,不過若在 [[ ]] 中使用 [ ] 中的運算子「-eq、-ne、-le、-lt、-gt、-ge」等,還尚未發現有錯。
反引號本身就對\進行了轉義,保留了本身意思,如果我們想在反引號中起到\的特殊意義,我們必須使用2個\來進行表示。
所以我們可以簡單的想象成反引號中:
\\ = \
$()中則不需要考慮\的問題,與我們平常使用的一樣:
\ = \
題外話: 反引號是老的用法,$()是新的用法,不管是在學習
測試中,還是在實際工作中,$()的用法都是被推薦的
shell程式設計筆記
第一天學習shell程式設計,自己做的筆記 test1 bin sh judge dir exist if d data 20140515 then mkdir p data 20140515 else echo this dir is exist,please exit fi bin sh sco...
Shell程式設計筆記
1,變數命名規則 your name runoob.com 注意,變數名和等號之間不能有空格,這可能和你熟悉的所有程式語言都不一樣。同時,變數名的命名須遵循如下規則 命名只能使用英文本母,數字和下劃線,首個字元不能以數字開頭。中間不能有空格,可以使用下劃線 不能使用標點符號。不能使用bash裡的關鍵...
shell 程式設計筆記
告訴系統用什麼指令碼進行編輯 常用 bin bash。在對變數進行賦值時,規避空格符。單雙引號的使用,單引號成對出現,且在單引號中不能使用變數,但可以在雙引號中使用單引號加變數的形式。例如 bin bash var jj help var xx var jj var ll var jj me ech...