第三部分 shell指令碼

2021-10-09 07:24:15 字數 2190 閱讀 5171

首先建立乙個test.s**件,內容如下

#!/bin/bash

echo

"hello world"

讓該檔案具備可執行許可權

chmod +x ./test.sh
注意,一定要寫成 ./test.sh,而不是 test.sh,執行其它二進位制的程式也一樣,直接寫 test.sh,linux 系統會去 path 裡尋找有沒有叫 test.sh 的,而只有 /bin, /sbin, /usr/bin,/usr/sbin 等在 path 裡,你的當前目錄通常不在 path 裡,所以寫成 test.sh 是會找不到命令的,要用 ./test.sh 告訴系統說,就在當前目錄找。

變數命名規則如下:

舉例:注意只有雙引號中可以應用變數,單引號是原樣輸出

#!/bin/bash

your_name=

'xiaoyezi'

my_name=

$for

file

in$(

ls /tmp)

;#遍歷有命令的檔案,只能用小括號(),引用自定義的變數用花括號{}

doecho

"tmp has $"

done

unset my_name #單行注釋:刪除變數

:<<

eof多行注釋內容...

多行注釋內容...

多行注釋內容...

eof

#!/bin/bash

echo

"執行的檔名:$0"

;#指令碼內獲取引數的格式為:$n,$0會指向執行的命名,所以取參從$1開始。

echo

"第乙個引數為:$1"

;echo

"第二個引數為:$2"

;echo

"第三個引數為:$3"

;

原生bash不支援簡單的數**算,但是可以通過其他命令來實現,例如 awk 和 expr,expr 最常用。

表示式和運算子之間要有空格,例如 2+2 是不對的,必須寫成 2 + 2,這與我們熟悉的大多數程式語言不一樣。

完整的表示式要被包含,注意這個字元不是常用的單引號,在 esc 鍵下邊。

#!/bin/bash

sum_num=

`expr 2 + 2`

echo

$sum_num

a=10

b=20

val=

`expr $a + $b`

#乘號(*)前邊必須加反斜槓(\)才能實現乘法運算;

val1=

`expr $a \* $b`

#條件表示式if[

$a -le $b

]then

echo

"a小於等於b"

else

echo

"a大於b"

fi#注意區分算術運算子和字串運算子,檔案運算子需要時再查詢

#!/bin/bash

echo

"it is a test"

> myfile #會覆蓋原始檔

echo

"it is a test"

>> myfile #以追加的方式輸出到檔案

修改檔案中,以***開頭所在行的全部內容

#!/bin/bash

#獲取當前日期,格式為20200820

current_date=

$(date

"+%y%m%d"

)#替換a.conf檔案中,以version開頭的內容,注意version前有個c

sed -i "/^version/cversion=$" a.conf

查詢檔案內容,並使用grep抓取賦值

file_path=/tmp/a.conf

node_path=server 10.11.22.33:8080

node_status=

`cat $

|grep

"$"`

echo

$

進入debug除錯shell指令碼

sh -x ./myshell.sh

劇本第三部分

第三部分劇本 場景一 女生宿舍,a趴在桌子上睡覺,電腦螢幕亮著,是vs 但是就寫了一行 小碼趴在a的胳膊上睡著。突然,a醒了,發現自己上課要遲到了,a 哎呀,完了完了,大中午的怎麼趴在這睡著了 邊說話邊收拾書包 轉頭看向小碼 a 把你放哪呢 說話的時候四周環視 算了,跟我去吧,我先把你放書包裡 說話...

第三部分 效能

索引管理 效能優化 效能監控 db.c1.find explain 查詢的詳細資訊列出來 db.c1.getindexkyes 所有索引的字段 db.c1.getindexes 所有索引的相關資訊 2 唯一索引 只需要在ensureindex命令中提定 uniqure true 即可建立唯一索引,如...

sqlalchemy第三部分

1.復用。在我們用sqlalchemy運算元據庫時,有部分 可以重複使用,我們將這部分放到乙個模組中,後面使用就可以呼叫這個模組,匯入裡面的方法。python 1.連線資料庫 from sqlalchemy import create engine hostname 127.0.0.1 ip位址 p...