shell指令碼常識

2021-08-18 19:19:47 字數 3506 閱讀 3943

1、shell指令碼是什麼、它是必需的嗎?

乙個shell指令碼是乙個文字檔案,包含乙個或多個命令。作為系統管理員,我們經常需要使用多個命令來完成一項任務,我們可以新增這些所有命令在乙個文字檔案(shell指令碼)來完成這些日常工作任務。

2、什麼是預設登入shell,如何改變指定使用者的登入shell。

在linux作業系統,「/bin/bash」是預設登入shell,是在建立使用者時分配的。使用chsh命令可以改變預設的shell。

chsh -s
3、可以在shell指令碼中使用哪些型別的變數?

在shell指令碼,我們可以使用兩種型別的變數:

系統變數是由系統自己建立的。這些變數通常由大寫字母組成,可以通過「set」命令檢視。

使用者變數由系統使用者來生成和定義,變數的值可以通過命令「echo $《變數名》」檢視。

4、如何將標準輸出和錯誤輸出同時重定向到同一位置

方法一:

2>&1    (# ls /usr/share/doc > out.txt 2>&1 )

方法二:

&>    (# ls /usr/share/doc &> out.txt )

5、shell指令碼中「if」語法如何巢狀?

if [ condition ]

then

command1

command2

elif [ condition ]

then

command1

command2

fi

6、shell指令碼中「?」標記的用途是什麼

在寫乙個shell指令碼時,如果你想檢查前一命令的結束狀態,可以用「?」來檢查

echo $?;為0代表成功,

7、在shell指令碼中如何比較兩個數字 ?

在if-then中使用測試命令( -gt 等)來比較兩個數字。

#!/bin/bash

x=20

y=30

if [ $x -gt $y ]

then

echo "x is greater than y"

else

echo "y is greater than x"

fi

8、shell指令碼中break命令的作用 

break命令乙個簡單的用途是退出執行中的迴圈。我們可以在while和until迴圈中使用break命令跳出迴圈。

9、shell指令碼中continue命令的作用 

continue命令不同於break命令,它只跳出當前迴圈的迭代,而不是整個迴圈。continue命令很多時候是很有用的,例如錯誤發生,但我們依然希望繼續執行大迴圈的時候。

10、shell指令碼中case語句的語法

case 值 in

模式1)

command1

command2

command3

;;模式2)

command1

command2

command3

;;*) command1

command2

command3

;;esac

11、shell指令碼中while迴圈語法

如同for迴圈,while迴圈只要條件成立就重複它的命令塊。不同於for迴圈,while迴圈會不斷迭代,直到它的條件不為真。

while [ test_condition ]

docommands

done

12、如何使指令碼可執行

使用chmod命令來使指令碼可執行

13、「#!/bin/bash」的作用

#!/bin/bash是shell指令碼的第一行,稱為釋伴(shebang)行。這裡#符號叫做hash,而! 叫做 bang。它的意思是命令通過 /bin/bash 來執行。

14、shell指令碼中for迴圈語法

for variables in list_of_items

docommand1

command2

done

15、如何除錯shell指令碼

使用』-x』引數(sh -x myscript.sh)可以除錯shell指令碼。另乙個種方法是使用『-nv』引數( sh -nv myscript.sh)。

16、shell指令碼如何比較字串

test命令可以用來比較字串。測試命令會通過比較字串中的每乙個字元來比較。

17、shell(bash) 中有哪些特殊的變數

18、在shell指令碼中,如何測試檔案

19、在shell指令碼中,如何寫入注釋 

注釋可以用來描述乙個指令碼可以做什麼和它是如何工作的。每一行注釋以#開頭。

20、如何讓 shell 就指令碼得到來自終端的輸入

read命令可以讀取來自終端(使用鍵盤)的資料。read命令得到使用者的輸入並置於你給出的變數中。

21、如何取消變數或取消變數賦值

「unset」命令用於取消變數或取消變數賦值。

22、如何執行算術運算

有兩種方法來執行算術運算:

使用expr命令(# expr 5 + 2) 2.用乙個美元符號和方括號([表示式])

例如:test=[表示式])例如:test=[16 + 4] ; test=$[16 + 4]

23、do-while語句的基本格式 

do-while語句類似於while語句,但檢查條件語句之前先執行命令

do

while (condition)

24、在shell指令碼如何定義函式呢 

函式是擁有名字的**塊。當我們定義**塊,我們就可以在我們的指令碼呼叫函式名字,該塊就會被執行。

25、函式

定義:

function_name ()

//或者

function function_name()

呼叫:

function_name parm1 parm2
返回值:

#! /bin/bash

function sum()

sum 22 4

echo $?

#! /bin/bash

function length()

fiecho "$result"

}len=$(length "abc123")

echo "the string's length is $len "

Shell 指令碼小常識1

shell 指令碼小常識1 shell 比較符號 都是英文縮寫,知道英文含義就很好記。等於 eq equal 不相等 ne not equal 大於 gt greater than 小於 lt less than 大於或等於 ge greater than or equal 小於或等於 le les...

Shell指令碼常識 (特殊字元)

shell中的特殊字元有 1 美元符 2 反斜槓 3 反引號 4 雙引號 5 下面我一一舉列說明 一 符號 1 echo 顯示的是上一條指令退出狀態 2 echo 效果同上 3 echo 顯示的是 4 echo 顯示的是 5 echo 顯示的是 大家可能已經看出 符號在雙引號中具有特殊意義 雙引號對...

Shell指令碼(三) Shell指令碼入門

1 指令碼格式 指令碼以 bin bash開頭 指定解析器 2 第乙個shell指令碼 helloworld 1 需求 建立乙個shell指令碼,輸出helloworld 2 案例實操 atguigu hadoop101 datas touch helloworld.sh atguigu hadoo...