linux學習之shell指令碼初級

2021-10-09 19:47:31 字數 2158 閱讀 3230

一、 簡單介紹

shell指的就是人機互動平台。常見的有ibm的ksh,hp的csh,windows的powershell以及linux的bash shell。

首先養成良好的習慣,通過#echo $shell命令可以查到預設shell。在指令碼的開頭加上宣告。

如圖,查詢出的預設shell為/bin/bash,所以一般在指令碼開頭加上一行如下宣告

#!/bin/bash

####其中,#!代表宣告,如果只有#,則代表注釋

單引號:遇到任何特殊字元都是原樣輸出

雙引號:遇到特殊字元會轉義後輸出

二、 常見功能

定義變數

dir=/backup/

dir=」/backup/」

a=100

a=100

b=200

c=a+b

定義完之後使用echo $c命令可以檢視具體變數的值。

$(command),可以引用命令執行的結果

例如:

cpu=

$(df -h|

grep -w / |

awk 『』 |

sed 『s/%//』)

if[ 「$cpu」 -ge 80 ]

;then

echo 「warning,cpu is full」

else

echo 「cpu is safe」

fi

******注意:if後面一定要加空格,不然會出現語法錯誤。

判斷命令執行的結果

command1 && command2

##如果命令1執行成功了則執行命令2,反之則不執行命令2

command1 || command2

##如果命令1執行失敗則執行命令2,反之則不執行命令2

或者用 echo $?來查詢命令是否執行成功,如果返回值是0代表成功,1-255代表失敗。

例如:

for num in

$(seq 1 10)

dohosts=192.168.6.$num

ping -c2 $hosts

&> /dev/null

if[ 「$?」 = 0 ]

;then

echo 「$hosts is up」

else

echo 「$hosts is down」

fidone

test表示式判斷

可以用main test去檢視test的所有用法,這裡舉兩個典型例子。

test -f passwd.1

##判斷普通檔案passwd.1是否存在

在指令碼中可以簡寫成[ -f passwd.1],或者用[! -f passwd.1]表示反向判斷。

if判斷

for迴圈

例子:

for num in

Linux學習之shell指令碼

第一行 bin bash 標記指令碼的直譯器 指令碼 bin bash echo hello world 賦予執行許可權 chmod x test.sh 執行指令碼 test.sh 定義變數時不需要 符號 td date y m d 1.變數名和符號之間不能有空格 2.首個字元必須為字母 3.中間不...

linux之shell指令碼學習

1,linux的shell種類眾多。shell常見種類如bourne shell usr bin sh或 bin sh bourne again shell bin bash c shell usr bin csh k shell usr bin ksh shell for root sbin sh...

Linux學習之Shell指令碼程式設計

一.shell指令碼定義 shell是系統的使用者介面,提供了使用者與核心進行互動操作的一種介面。它接收使用者輸入的命令並把它送入核心去執行。實際上shell是乙個命令直譯器,它解釋由使用者輸入的命令並且把它們送到核心。shell翻譯成殼的意思,它是包裹在linux核心外層的,乙個可通過一系列的li...