一、case分支語句
語法格式:
case $變數名 incase**例項模式1)
命令序列1
;;模式2)
命令序列2
;; *)
預設執行的命令序列
;; esac
#!/bin/bashread -p "press some key ,then press return :" key
case $key in
[a-z]|[a-z])
echo "it's a letter."
;;[0-9])
echo "it's a digit."
;;*)
echo "it's function keys、spacebar or other ksys."
;;esac
其中read -p 是從控制台讀取字串
二、if分支
語法格式
if commandthen
commands
fi或者
if command:then
commands
fi或者
if command
then
commands
else
commands
fi或者
if command1
then
commands
elif command2
then
commands
fi
test命令語法
if test conditionthen
commands
fi或者
if [condition]
then
commands
fi
test數值的比較
n1 -eq n2 檢查n1是否與n2相等
n1 -ge n2 檢查n1是否大於等於n2
n1 -gt n2 檢查n1是否大於n2
n1 -le n2 。。。。。
n1 -lt n2 。。。。。
n1 -ne n2 。。。。。。
test字串比較
str1 = str2
str1 != str2
str1 < str2
str1 > str2
-n str1 檢查str1的長度是否非0
-z str1 檢查str1的長度是否為0
注意,使用的時候《或者 >需要轉義\
**例項
#!/bin/bashvar1=10
var2=11
if [ $var1 -gt 5 ]
then
echo "the test value $var1 is greater than 5"
fiif [ $var1 -eq $var2 ]
then
echo "the values are equal"
else
echo "the valus are fifferent"
fi執行結果:
the test value 10 is greater than 5
the valus are fifferent
需要注意的是左右內側必須有空格,否則執行報錯
三、檔案比較
比較描述
-d file
檢查file是否存在並是乙個目錄
-e file
檢查file是否存在
-f file
檢查file是否存在並是乙個檔案
-r file
檢查file是否存在並可讀
-s file
檢查file是否存在並非空
-w file
檢查file是否存在並可寫
-x file
檢查file是否存在並可執行
-o file
檢查file是否存在並屬於當前使用者所有
-g file
檢查file是否存在並且預設組與當前使用者相同
file1 -nt file2
檢查file1是否比file2新
file1 -ot file2
檢查file1是否比file2舊
**例項
#!/bin/bashif [ -e $home ]
then
echo "home exist"
else
echo "home not exist"
fi
四、for語法
for var in listdo commands
done
例項
#!/bin/bashfor var in alaska ae we wer
do echo the next state is $var
done
執行結果:
$ sh fortest.sh
the next state is alaska
the next state is ae
the next state is we
the next state is wer
解析文字檔案,並迴圈輸出檔案內容
#!/bin/bashifs.old=$ifs
ifs=$'\n'
for entry in `cat /etc/passwd`
do echo "values in $entry"
ifs=:
for value in $entry
doecho " $value"
done
done
ifs=$ifs.old
while,until,..
LInux shell程式設計 使用結構化命令
1 使用if then語句 2 巢狀的if 3 符合條件測試 使用測試if value1 gt value2 這種形式的情況 1 數值比較 2 字串比較 3 檔案比較 其中,數值比較使用的是字串形式,而字串比較則使用的符號形式 其中在比較字串的時候必須進行轉義,不然會當作重定向符號,導致意想不到的錯...
結構化 半結構化和非結構化資料
在實際應用中,我們會遇到各式各樣的資料庫如nosql非關聯式資料庫 memcached,redis,mangodb rdbms關聯式資料庫 oracle,mysql等 還有一些其它的資料庫如hbase,在這些資料庫中,又會出現結構化資料,非結構化資料,半結構化資料,下面列出各種資料型別 結構化資料 ...
結構化 半結構化和非結構化資料
在實際應用中,我們會遇到各式各樣的資料庫如nosql非關聯式資料庫 memcached,redis。mangodb rdbms關聯式資料庫 oracle,mysql等 另一些其他的資料庫如hbase,在這些資料庫中。又會出現結構化資料。非結構化資料。半結構化資料,以下列出各種資料型別 結構化資料 可...