shell指令碼學習記錄(1)

2021-10-10 19:05:44 字數 2014 閱讀 2067

增加變數的內容

path=$path:/home/bin

若要把區域性變數變為全域性變數export

取消變數的方法unset

unset 【變數】

set檢視環境變數和自定義變數

ps1提示字元的設定

$本身就是乙個變數代表這個shell的程序號

?也是乙個變數代表上乙個執行的命令所返回的值,成功返回0,不成功返回相應的錯誤代號

array(陣列)

var[1]

="small min"

var[2]

="big min"

var[3]

="nice min"

echo

"$,$,$"

#small min,big min,nice min

範例一:先讓小寫的path自定義變數設定的與path一樣

path=

$path

echo

$path

#範例二:假設我不喜歡local/bin,所以要將前乙個目錄刪掉

echo $

#從代表變數內容的最前面開始向右刪除,且僅刪除最短的那個。

/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/home/dmtsai/.local/bin:/home/dmtsai/bin

#以上是path本來的內容,現在來解釋一下這條命令,乙個#代表刪除最短的,/*local/bin:,代表以/開始以local/bin:結束,*代表任意個字元。它會尋找滿足條件的刪除短的。

##兩個#代表刪除最長的。

-----------------

#是從前面開始刪除,那從後面開始向前刪除要使用%,和上面的#一樣的用法。

-----------------------------------------

替換:範例三:將path的變數內容的sbin替換成大寫的sbin。

也很簡單。使用『/』

echo

$#兩/中間的舊字元,但是只會替換找到的第乙個,後面的不替換,要替換需要加上兩個/「//sbin/sbin」

-----------------------------------

不一樣替換-、:、=:?

username=

$#username1若存在則複製給username,若不存在則給username賦值root

username=

$#若username為空字串或不存在

var=

$#給str和var變數都賦值

unset str;var=

$#若無str時,則var的測試結果直接顯示為「無此變數」

#若str存在,var的值會與str相同。

ulimit

[-shacdfltu]

[配額]

-h hard limit 嚴格設定不能超過這個值

-s soft limit 警告的設定

-a 後面不接任何選項和引數,可列出所有的限制額度

-c 當程式發生錯誤時系統會將該程式在記憶體中的資訊寫成檔案

-f 此shell可以建立的最大檔案容量(一般為2g),單位為k

-d 程式可以使用的最大段記憶體容量

-l 用於鎖定記憶體容量

-t 可以使用的最大cpu時間

#範例一:列出目前身份的所有限制資料數值

ulimit -a

#0代表沒限制

範例二:限制使用者僅能建立10m一下的容量

ulimit -f 10240

n:數字,意思是【要列出最近的n條命令列表】

-c:將目前的shell中的所有history內容全部清掉

-a:將新增的history命令新增入hisfiles中,若沒有hisfiles,則預設寫入~/。bash_history

-r:將hisfiles的內容讀到這個shelll中

-w:將目前的history寫入hisfiles中。

shell指令碼學習1

在工作的時候接觸到了shell指令碼,不過我沒有自己寫過,但是又因為當時對shell有了興趣,所以我就抽了一點時間,來學習shell指令碼的語法結構,這裡只是基本的shell語法,更高深的在以後可能會接觸。一 shell分類 1 bourne家族 sh,bash 標準shell pshell,zsh...

Shell 指令碼學習1

目錄 1.批量生成 2.批量修改 3.批量生產使用者 4.生產隨機密碼 5.批量判斷網路10.0.0.內的主機是否通訊 6.sed 命令使用 7.gawk 命令使用 8.gawk 正規表示式 9.sed 單詞替換空白行處理 10.sed 處理文字反轉指令碼 11.sed 清除html標籤 12.特殊...

shell指令碼學習(1)

vim shell name.sh 指令碼名要切合實際,見名思意 指令碼第一行 bin bash 表示指令碼以bash解釋,指定shell解釋 bin bash command1 command2 command3 依照命令的先後從上往下執行.shell name.sh 以這種方式執行shell指令...