高清壁紙(1920×1080)
高清桌布,精美高清桌面桌布,圖片桌布,圖片素材下載(右鍵保存)
[……]
只講重點的設計教學,立刻學習網頁教學網誌!
shell腳本基本技能是設置變量,輸出信息。如下:
sh腳本輸出到控制臺
將以上腳本保存到test.sh腳本档案中,並賦予可執行權限:sudo chmod +x test.sh
執行腳本:bash test.sh
控制臺輸出:
輸出到控制臺,並且寫入日志档案:
執行腳本,會在當前目錄下生成 log20190826.log档案,打開它發現成功寫入日志信息:
腳本代碼:
#!/bin/bash #档案名:test.sh name="xiongzaiqiren" echo $name echo "BACKUP DATE:" $(date +"%Y-%m-%d %H:%M:%S") D[......]
我們知道,之前的運維告警多通過mail 等方式通知到相應的人員,難以實現隨時隨地的查看。隨著手機APP的發展,很多告警開始發送到IM软体上去。目前比較常用的是發送到微信和釘釘上,今天我們將重點放在釘釘上。群機器人是釘釘群的高級擴展功能,群機器人可以將第三方服務的信息聚合到群聊中,實現自動化的信息同步。借助釘釘機器人,通過官方提供的API,可以很方便的post數據到相應的接收人 。群機器人支援Webhook協議的自定義接入,支援更多可能性,例如:你可將運維報警通過自定義機器人聚合到釘釘群實現提醒功能。
Shell 腳本語言是實現Linux系統管理及自動化所必須的重要工具。熟練地編寫Shell語言[……]
特殊變量列表
變量
含義
$0
當前腳本的档案名
$n
傳遞給腳本或函數的參數。n 是一個數字,表示第幾個參數。例如,第一個參數是$1,第二個參數是$2。
$#
傳遞給腳本或函數的參數個數。
$*
傳遞給腳本或函數的所有參數。
$@
傳遞給腳本或函數的所有參數。被雙引號(” “)包含時,與 $* 稍有不同,下面將會講到。[……]
在寫腳本的時候,總是搞不懂[] [[]]的區別,這次寫一個總結,把它掌握牢固
[]和test
兩者是一樣的,在命令行裡test expr和[ expr ]的效果相同。
test的三個基本作用是判斷档案、判斷字符串、判斷整數。支援使用 ”與或非“ 將表達式連接起來。
test中可用的比較運算符隻有==和!=,兩者都是用於字符串比較的,不可用於整數比較,整數比較隻能使用-eq, -gt這種形式。
無論是字符串比較還是整數比較都千萬不要使用大於號小於號。當然,如果你實在想用也是可以的,對於字符串比較可以使用尖括號的轉義形式, 如果比較”ab”和”bc”:[ ab \< bc ],結果為真,也就[……]
一、档案操作相關命令
1.档案操作命令
子命令
參數
說明
cd
無
進入目錄
cat
[-beflnstuv] [-B bsize] [file…]
查看档案內容
-n:顯示行號
-b:顯示行號,但會忽略空行
-s:顯示行號,連續空行標記為一行
df
無
列出分區列表
du
[-H][……]
主要以下有幾種方式:
Command
Explanation
fork
新開一個子 Shell 執行,子 Shell 可以從父 Shell 繼承環境變量,但是子 Shell 中的環境變量不會帶回給父 Shell。
exec
在同一個 Shell 內執行,但是父腳本中 exec 行之後的內容就不會再執行瞭
source
在同一個 Shell 中執行,在被調用的腳本中聲明的變量和環境變量,[……]
目前註意到的區別主要在於環境變量的作用域上:
1. 如果使用” ./ ” 執行,可以理解為程式運行在一個全新的shell中,不繼承當前shell的環境變量的值, 同時若在程式中改變瞭當前shell中的環境變量(不使用export),則當前shell的環境變量值不變。
2. 如果使用” . “執行,則程式繼承當前shell中的環境變量,同時,若在程式中改變瞭當前shell中的環境變量(不使用export),則當前shell中該環境變量的值也會改變
另外一個區別點在於, “ ./ “隻能用於擁有執行權限的档案, 而 ” . ” 則可以暫時提升
example:
1. 有如下腳本档案&[……]
本文主要介紹瞭linux shell 中判斷档案、目錄是否存在的方法,分享給大傢
-e filename 如果 filename存在,則為真
-d filename 如果 filename為目錄,則為真
-f filename 如果 filename為常規档案,則為真
-L filename 如果 filename為符號鏈接,則為真
-r filename 如果 filename可讀,則為真
-w filename 如果 filename可寫,則為真
-x filename 如果 filename可執行,則為真
-s filename 如果档案長度不為0,則為真
-h filename 如果档[……]
shell 如何用指定的分隔符來分割字符串讓結果為一個字符串數組,類似 java 中的 split, 而 split 關鍵字已經留給档案分割瞭,故字符串就分割處理就不能在使用瞭,那如何來處理字符串串分割呢?方法有兩種
一、對於不包含空格的字符串,使用下面方法
方法一
#!/bin/bash string="hello,shell,haha" array=(${string//,/ }) for var in ${array[@]} do echo $var done
方法二
#!/bin/bash string="hello,shell,haha" OLD_IFS=[......]
導讀
Linux 的交互式 Shell 與 Shell 腳本存在一定的差異,主要是由於後者存在一個獨立的運行進程,因此在獲取進程 pid 上二者也有所區別。
交互式 Bash Shell 獲取進程 pid
在已知進程名(name)的前提下,交互式 Shell 獲取進程 pid 有很多種方法,典型的通過 grep 獲取 pid 的方法為(這裡添加 -v grep是為瞭避免匹配到 grep 進程):
ps -ef | grep "name" | grep -v grep | awk '{print $2}'
或者不使用 grep(這裡名稱首字母加[]的目的是為瞭避免匹配到 awk 自身[……]
在說什麼是shell腳本之前,先說說什麼是shell。
shell是外殼的意思,就是操作系統的外殼。我們可以通過shell命令來操作和控制操作系統,比如Linux中的Shell命令就包括ls、cd、pwd等等。總結來說,Shell是一個命令解釋器,它通過接受用戶輸入的Shell命令來啟動、暫停、停止程式的運行或對計算機進行控制。
shell 是一個應用程式,它連接瞭用戶和 Linux 內核,讓用戶能夠更加高[……]
本文介紹瞭shell 腳本自動搭建nfs服務的方法示例,分享給大傢,具體如下:
#vim /sh/zidong_dajian_nfs_fuwu.sh
#!/bin/bash #name:zidong_dajian_nfs_fuwu.sh #path:/sh/ #update:2017-9-17 #測試網絡是否通暢 ping -c 1 172.16.13.254 >/dev/null && echo **********網絡ok********** #第一步:關閉selinux和防火墻 setenforce 0 >/dev/null && ech[......]
通常情況下,在工作中用的最多的有如下幾項:
今天將通過以上幾種選項並做進一步的操作案例;
1、引用變量
引用變量時,使用 $ 符號直接[……]
最近研究瞭一下怎樣使用shell 腳本連接數據庫,然後執行查詢語句。這樣對於需要定時執行的腳本,我們可以建個 crontab 去定時執行。
先介紹一下客戶端的安裝:
linux 環境需要用 sqlplus 客戶端去連接oracle 數據庫,首先我們需要確認有沒有安裝:which sqlplus如果沒有安裝就需要先安裝一下,安裝步驟如下:
到oracle 官網下載,之後安裝以下兩個模塊:
rpm -ivh oracle-instantclient11.2-basic-11.2.0.3.0-1.x86_64.rpm rpm -ivh oracle-instantclient11.2-sq[......]