#!/bin/bash
if [ $1 -gt 90 ]
then
echo "good, $1"
elif [ $1 -gt 70 ]
then
echo "ok, $1"
else
echo "bad, $1"
fiexit 0
for day in sun mon tue wed thu fri sat
doecho $day
done
# 如果列表被包含在一對雙引號中,則被認為是乙個元素
case "$var" in
condition1 )
statments1;;
condition2 )
statments2;;
...* )
default statments;;
esac
數字比較
-lt,小於
-le,小於等於
-eq,等於
-ge,大於等於
-gt,大於
-ne,不等於
整數運算一般通過 let 和 expr 這兩個指令來實現
如對變數 x 加 1 可以寫作:let "x = $x + 1" 或者 x=`expr $x + 1`
字串比較=!=
>
<
if [ $a = "111" ] 中間必須加空格
-d file :file存在並是乙個目錄
-z str str為空,長度為0
-n str str非空
更細緻的文件推薦在字串比較時盡量不要使用 -n ,而用 ! -z 來代替。
awk -f"," ''
v_record=`echo $line|awk -f"," ''`
v_time=`echo $line|awk -f"," ''`
v_status=`echo $line|awk -f"," ''`
無論是在 shell 中對 bash 指令碼返回值的處理,還是在指令碼中對函式返回值的處理,都是通過 "$?" 系統變數來獲得。bash 要求返回值必須為乙個整數,不能用 return 語句返回字串變數。
bash 中通過 read 函式來實現讀取使用者輸入的功能,如下面這段程式:
#!/bin/bash
echo please enter your name
read name
echo "hi! $name !"
exit 0
運算子 含義( 滿足下面要求時返回 true )
-e file 檔案 file 已經存在
-f file 檔案 file 是普通檔案
-s file 檔案 file 大小不為零
-d file 檔案 file 是乙個目錄
-r file 檔案 file 對當前使用者可以讀取
-w file 檔案 file 對當前使用者可以寫入
-x file 檔案 file 對當前使用者可以執行
-g file 檔案 file 的 gid 標誌被設定
-u file 檔案 file 的 uid 標誌被設定
-o file 檔案 file 是屬於當前使用者的
-g file 檔案 file 的組 id 和當前使用者相同
file1 -nt file2 檔案 file1 比 file2 更新
file1 -ot file2 檔案 file1 比 file2 更老
getopts的用法:
可以-d -e引數
:de: 第乙個冒號忽略錯誤,第二個冒號表示引數接受值
#!/bin/sh
while getopts :de: opt;
docase $opt in
d)echo "hello,world";;
e)echo $opt;;
esac
done
Shell常用命令總結
shell常用命令總結 1 ls命令 列出檔案 ls la 列出當前目錄下的所有檔案和資料夾 ls a 列出當前目錄下所有以 a字母開頭的檔案 ls l txt 列出當前目錄下所有字尾名為 txt的檔案 2 cp命令 複製 cp a.txt b.txt 把檔案 a的內容複製到b檔案 cp a.txt...
Shell常用命令總結
shell 是乙個用 c 語言編寫的程式,它是使用者使用 linux 的橋梁。shell 既是一種命令語言,又是一種程式語言。shell 是指一種應用程式,這個應用程式提供了乙個介面,使用者通過這個介面訪問作業系統核心的服務。filename filename echo filename echo ...
shell常用命令總結
wc l filename grep c filename sed n filename awk end filename 但是這幾種方法的效率卻是不同的。通過以下測試 time wc l filename 平均 0.237667s time grep c filename 平均 1.419000s...