shell 常用命令總結

2021-09-01 14:11:17 字數 2048 閱讀 8048

#!/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...