1. 程式人生 > >linux shell 筆記

linux shell 筆記

linu 算術運算 輸出 元素 命令執行 執行 ech grep hello

echo

不加引號和使用單引號都是原樣輸出,不加引號時分號被認為是命令結束,
單引號中無法輸出單引號

echo -n                   #不換行輸出
echo -e   "1\t2"     #使用轉義字符時-e參數
echo -e  "\e[31m  hello"    #使用紅色文字顯示hello,\e[0m重置回默認顏色,30開始文字顏色,40開始背景顏色
stty -echo    #輸入不顯示在終端
stty  echo     #輸入顯示在終端

變量

    $(  )                    #命令,或者反引號(ESC下)
    $[  ]                    #算術運算,或let
    ${  }                    #變量
    ${#  }       #獲得變量長度
    $?           #命令執行狀態,0成功,其他錯誤
    $0                      #返回當前shell
    $1 $2...             #第一個參數,第二個參數...

重定向

>      #覆蓋
>>    #追加
1>    #標準輸出重定向,1可省略
2>    #錯誤重定向
2>&1   #標準輸出與錯誤輸出均重定向到同一文件
>/dev/null   #不顯示輸出信息
date | tee a.txt | grep ..    #執行date命令的輸出保存在a.txt並作為grep的輸入,tee只保存標準輸出1,並且以覆蓋的方式,追加用-a參數

數組

a=(1  2  3  4  5)           #定義整型數組,每個元素空格隔開
b[0]="hi"  
b[1]="ha ha ha"           #定義字符串數組
 echo  ${a[0]}                #輸出第0個元素
 echo  ${a[*]}                 #顯示數組中的所有值,*也可以用@代替
 echo ${#a[*]}               #顯示數組長度`

時間

date +%a        #星期
date +%y        #年
date +%b       #月
date +%d       #日
date +%H      #時
date +%M      #分
date +%S       #秒
date +%s        #距標準時間的秒數 

判斷

if   [  a  -lt  b]                      #lt小於,eq等於,gt大於,le小於等於,ge大於等於
     then
             echo a<b
    else  
             echo  a>b
fi

linux shell 筆記