自定義shell變數時,變數有什麼規格?
可以使用字母,數字,下劃線,不能以數字開頭;
變數名區分大小寫; 賦值時等號兩邊不要有空格
不要使用關鍵字或特殊字元,給同乙個變數多次賦值時,最後一次生效。
簡述預定義變數$$、$?、$0、$#、$*、$!的作用?
$$:儲存當前執行的程式pid號;
$?:上乙個執行命令的返回狀態;
$0:當前執行的指令碼名;
$#:位置變數的個數;
$*:輸出所有的位置變數;
$!:儲存最後乙個程序的pid號;
簡述整數數值的比較操作?
-eq :等於 -ne:不等於 -lt:小於 -le:小於等於 -gt:大於 -ge:大於等於
shell環境中常見的中斷及退出控制指令?
continue:跳出本次的迴圈;
break:跳出整個迴圈;
exit:退出指令碼;
return:用在函式裡面,確認返回值;
shift:用於遷移位置變數。
正規表示式中+、?、*代表什麼意思?
簡述awk常用的內建變數各自的作用?
-f:設定字段分割符; $n:比如$1指輸出第一列; $0:輸出當前讀如的整行文字內容;
nf:輸出列數; nr:輸出行數 ; fnr:輸出當前處理行所在文字的行號;
filename:儲存當前處理的檔名; environ:呼叫shell環境變數,格式environ["環境變數"]。
什麼是shel? 如何檢視當前系統支援的shell?
shell就是能夠實現某種功能的;
檢視/etc/shells
如何切換當前使用的shelll?
bash
/bin/bash有哪些特性?
命令補全功能,有vim編輯,有歷史命令等特性。
使用者的配置檔案都有那幾個?有什麼用?
~/.bashrc ~/.bash_profile
在裡面定義變數,只針對使用者有效。
shell的變數型別有哪些?列舉出4個常用的預定義變數?
自定義變數,系統環境變數,預定義變數,位置變數
變數的生命週期?作用範圍?
1.在指令碼中定義的變數,只在指令碼的執行過程中有效;
2.只在當前的shell裡面可以使用,如果想要變數在所有的shel裡面都可以使用,需要定義成全域性變數。
指令碼的執行過程,指令碼的執行方式?
執行過程:從左到右,從上到下。
執行方式:sh xx.sh \ bash xx.sh \ ./xx.sh \ 絕對路徑執行
編寫指令碼的步驟?
1.首先需要確定編寫指令碼的目的; 2.所要實現的功能; 3.需要哪些命令;
4.需要哪些流程控制; 5.值是否需要變化,是否需要變數;
shell的判斷型別?
檔案狀態、數值比較、邏輯比較、字元比較
說一下在shell中-n -z -d -f -e -r -w -x -l !-z 代表什麼意思?
-n:是否為真; -z:字串是否為空 -d:目錄是否存在 -f:檔案是否存在 -e:是否存在
-r:是否可讀 -w:是否可寫 -x:是否有執行許可權 -l:是否是鏈結 !-z:字串不存在為真
正規表示式中 (||) (\n) (\r) 分別代表什麼意思?
||:或的意思。 \n:代表換行 \r:代表回車
獲取位址的方法命令?
ifconfig | sed -n '2p' | awk ''
函式內的local是什麼意思?
存在於指令碼函式中的變數稱為區域性變數; 以local的方式宣告,使變數只在函式的作用範圍內有效。
$@和$*的區別?
$@:將命令列的每個引數視為單個的引數;
$*:將所有引數視為1個字串。
$0、dirname、basename分別在指令碼裡面代表什麼?
$0:輸出指令碼的路徑和指令碼的名字
dirname:輸出指令碼的路徑;
basename:輸出指令碼名
如何取出3306這個埠號?
ss -anptul | awk '/3306/' | awk -f: ''
shell中單引號和雙引號以及不加引號的區別?
加單引號:所見即所得,把單引號裡面的內容原樣輸出;
加雙引號:把雙引號內的內容輸出出來,當有命令和變數的時候,先把他們的結果解析出來,然後再輸出最終的內容;
不加引號:會將含有空格的字串視為乙個整體輸出出來,當有命令和變數的時候,先把他們的結果解析出來,然後再輸出最終的內容; 如果含有空格等特殊字元,不能完整的輸出出來,需要加雙引號,
echo -n是什麼意思?
代表不換行操作;
-e:在後面有特殊字元的時候會加-e
\n:代表換行。
有0-9的數字,echo 0-9是輸出時不輸出0-5的數?
echo | sed 's/[0-5]//g'
使用seq列印10不分隔,列印10的倒序?
seq -s "" 10
seq 10 -1 1
wget -t 10 -c -q --spider www.baidu.com 裡面-t、-c、-q 、--spider各是什麼意思?
生產環境常用的監控web的方法是什麼?
wget 和 curl
檢視當前目錄下的所有資料夾?
ls -f | grep /
在awk中nf代表什麼?
nf:代表列數。 nr:代表輸出每一行的行數
Shell指令碼基礎知識
shell 變數 命名規則 首字元為字母 中間不能有空格,可用下劃線 不能使用標點和bash的關鍵字 賦值 顯示命名 不能加 語句賦值 唯讀變數 readonly variable name 刪除變數 unset varible name 不能刪除唯讀變數 shell字串 字串可以用單引號 雙引號 ...
shell指令碼基礎知識
雖然現在能在linux系統下生存,但是自覺效率太低,和高手有很大的差距。這就是關於linux的知識太過匱乏,有很多事情知道該怎麼做,但是就是沒法在linux下實現,為了提公升工作效率,必須要接觸linux高階技巧 linux的東西比較深,沒法一下學完,所以只要能掌握生信必備的基礎就好了。一些主要的流...
shell指令碼的基礎知識
shell 是指一種應用程式,這個應用程式提供了乙個介面,使用者通過這個介面訪問作業系統核心的服務,是指令碼中命令的直譯器。1.記錄命令執行的過程和執行邏輯,以便以後重複執行 2.指令碼可以批量處理主機 3.指令碼可以定時處理主機 bin bash 幻數 vim自動新增指令碼首部 1 手動在環境中開...