賦值
file=$1 //=兩邊不能有空格echo $file
邏輯判斷
表示式1、if [ expression ]; then ... fi
//兩邊必須有空格
2、 if [[ expression ]]; then ... fi3、
if expression1 -o expression2; then
elif expression; then
else
fi組合判斷條件
-a: and
-o: or
!: 非
命令間邏輯關係
&& || //
和其他語言意義一致
eg1: 判斷a大於b並且小於c
1、 if (( a > b )) && (( a 2、 if [[ $a > $b ]] && [[ $a <$c ]]
3、 if [ $a -gt $b -a $a -lt $c ]
整數比較
-eq==
-ne!=
-gt>
-ge>=
-lt<
-le<=
檔案測試
-z string
字元是否為空,空為真,非空為假
-n string
是否為不空,空為假 非空為真
-e file
檔案是否存在
-f file
檔案是否為普通檔案
-d file
是否為目錄
-r file
檔案對當前使用者是否可讀
-w file
檔案對當前使用者是否可寫
-x file
檔案對當前使用者是否可執行
-z是否為空 為空則為真
-a是否不空 不空為真
迴圈
# forfor((i=1;i<=10;i++))
dosth
done
for i in $(seq 110)
for i in
awk
'begin
'for i in
`ls`;
for i in
f1 f2 f3 ;
list="god always love you!
"for i in
$list;
for file in /bin/*
;do
echo $line
done
# while
while true
dosth
done
#switch
case $char in
[a-z][a-z])
sth;;
[0-9])
sth;;
*)sth
esac
文字讀寫
for line in`cat filename`
doecho $line
done
for line in$(cat filename)
doecho $line
done
while read -r line #-r選項保證讀入的內容是原始的內容,意味著反斜槓轉義的行為不會發生doecho $line
done
< filename
遠端訪問
ssh faith@$ip "grep 'decodeblob error' /data/datac20181106/gameserver*/error/*.log
note
$? 上個命令執行成功,則為0,否則為1-255間的乙個$# 傳參個數
$n 引數值
((exp)) exp可以不加$引用
set -e 發生錯誤立刻退出
sh -n ***.sh 檢查shell語法
//判斷上個命令執行是否成功
raise()
Shell 常用語法
bin bash 選擇編譯環境 正文 i 1 echo i 1 echo i 1echo i i2.1賦值a 5 變數定義的時候必須是等號兩邊沒有空格 b 2c a b 變數賦值 7 d a b 字串 5 2 2.2從鍵盤輸入變數值echo please input a filename read ...
shell 常用語法基礎
表 31.1.萬用字元 匹配0個或多個任意字元 匹配乙個任意字元 若干字元 匹配方括號中任意乙個字元的一次出現 ls dev ttys ls ch0?doc ls ch0 0 2 doc ls ch 012 0 9 doc注意,globbing所匹配的檔名是由shell展開的,也就是說在引數還沒傳給...
mysql常用語法 MySQL常用語法
更新資料 update 表名 set 健名 更改的值 where 建 刪除資料 delete from 表名 where 索引 create index 索引名稱 on 表名 鍵名 建立試圖 create view 檢視名 鍵,鍵 as select matchno,abs won lost fro...