首先建立乙個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
原生bash不支援簡單的數**算,但是可以通過其他命令來實現,例如 awk 和 expr,expr 最常用。#!/bin/bash
echo
"執行的檔名:$0"
;#指令碼內獲取引數的格式為:$n,$0會指向執行的命名,所以取參從$1開始。
echo
"第乙個引數為:$1"
;echo
"第二個引數為:$2"
;echo
"第三個引數為:$3"
;
表示式和運算子之間要有空格,例如 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 #以追加的方式輸出到檔案
查詢檔案內容,並使用grep抓取賦值#!/bin/bash
#獲取當前日期,格式為20200820
current_date=
$(date
"+%y%m%d"
)#替換a.conf檔案中,以version開頭的內容,注意version前有個c
sed -i "/^version/cversion=$" a.conf
進入debug除錯shell指令碼file_path=/tmp/a.conf
node_path=server 10.11.22.33:8080
node_status=
`cat $
|grep
"$"`
echo
$
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...