複試篇--Shell學習

(1)BASH
我們必須通過shell將我們輸入的命令與內核溝通,好讓內核可以控制硬件來正確無誤地工作。

變量的設置等:
解析出變量:
echo $HOME

設置變量:(等號兩邊不能有空格)
myname=kangwenbin
echo $myname

在原來變量後面添加:
PATH=${PATH}:/home/bin

將普通變量改爲環境變量(即該變量還要在其他程序中使用)
export PATH

變量設置中,注意單引號和雙引號的區別

子進程僅會繼承父進程的環境變量,不會繼承父進程的自定義變量

ls -ld $(locate crontab) :找出每個crontab相關文件名的權限
要懂得這裏$的用法.

正則表達式:
目的:字符串處理的標準依據,把認爲重要的信息提取出來
。也即字符串的查找、刪除、替換

grep:以行爲單位進行匹配,匹配出含有特定字符的行
-n:帶有行號輸出
grep -n ‘^t’ :行首字符^的使用,列出以t爲開頭的行
grep - n ‘[a-z]’ :列出含有小寫字母的行
grep -n ‘.$’:找出以.結束的行。行尾字符$的使用
. :小數點代表【一定有一個字符】
* :*號代表【重複前一個字符,0到無窮多次】,即*00代表擁有一個0以上的字符
.*: 代表【0或多個任意字符】
{}:限定連續字符範圍,grep -n ‘o{2}’ txt,找出兩個連連續o的字符

sed工具:可用於直接修改、刪除文本

shell腳本:

開頭一行:#!/bin/bash,#!後面加上加載的shell的環境,說明下面程序是用哪種類型的shell來運行的

exit 0 :程序返回值爲0
標準輸入賦值:read -p " " XXX," "是標準輸出,XXX是變量

判斷式:
(1)test 指令
(2)利用判斷符號 []
(3)if then fi
(4)case…esac

循環
(1)while[ ] … do…done
注意while的判斷式裏面只能是!=或者是==判斷,而不能是>、<這種判斷
(2)
for i in (seq 1 100) …do …done
for((i=1; i<=100;i++))

sh -x XX.sh :-x參數來進行腳本的debug

source XX.sh:讓腳本在父進程中執行,若用普通的sh或者bash,系統是會新創建一個進程然後讓腳本在此子進程執行

邏輯判斷:

-eq //等於

-ne //不等於

-gt //大於 (greater )

-lt //小於 (less)

-ge //大於等於

-le //小於等於

命令的邏輯關係:

在linux 中 命令執行狀態:0 爲真,其他爲假

邏輯與: &&
第一個條件爲假時,第二條件不用再判斷,最終結果已經有;
第一個條件爲真時,第二條件必須得判斷;
邏輯或: ||
邏輯非: !

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章