shell 入門 Linux 學習

2021-10-06 21:31:21 字數 3162 閱讀 1368

在linux中,shell不但能與使用者進行逐個命令互動執行,也可以通過指令碼語言進行程式設計。

第乙個shell程式

1、寫shell程式

用vim開啟並建立乙個shell檔案,開頭固定 #!/bin/bash,表示用的是 bash 語法,# 後面為注釋,date 顯示日期,echo 列印字串

[zcy@zcy ~

]$ mkdir myprogram

[zcy@zcy ~

]$ cd myprogram/

[zcy@zcy myprogram]$ vim first.sh

#!/bin/bash

#this is my first sh

date

echo "hello world!"

[zcy@zcy myprogram]$ echo $shell

/bin/bash

//預設的shell為 bash

[zcy@zcy myprogram]$ cat /etc/shells

/bin/sh

/bin/bash

/sbin/nologin

/usr/bin/sh

/usr/bin/bash

/usr/sbin/nologin

/bin/tcsh

/bin/csh

//檢視系統內建了那幾種shell

2、執行shell程式

第一種 直接執行

#/usr/program/first

[zcy@zcy myprogram]$ chmod a+x first.sh

[zcy@zcy myprogram]$ ll first.sh

-rwxrwxr-x.

1 zcy zcy 58

6月 619:

43 first.sh

[zcy@zcy myprogram]$ .

/first.sh

2023年 06月 06日 星期六 19:43

:42 cst

hello world!

第二種 利用shell程式執行

#bash /usr/program/first

[zcy@zcy myprogram]$ sh -x first.sh

+ date

2023年 06月 06日 星期六 19:44

:07 cst

+ echo 'hello world!'

hello world!

[zcy@zcy myprogram]$ sh first.sh

2023年 06月 06日 星期六 19:44

:46 cst

hello world!

shell語法介紹(1)使用變數

在shell程式中所有變數儲存的值都是字串。

在linux的shell中,可以使用以下幾種變數:

1.環境變數:是指與shell執行的環境相關的一些變數。shell環境變數在shell啟動時,就已定義好,如path,home,mail等,這些變數使用者還可以重新定義。可使用set命令檢視系統中各環境變數的值。

2.使用者自定義變數: 變數名=變數值

3.預定義變數(系統變數):使用者不能修改,只能引用這些變數。所有的預定義變數都是由「$」符號與另乙個符號組成的,常用的shell預定義變數有以下幾個:

$#:位置引數的數量

$*:所有位置引數的內容

$?:命令執行後返回的狀態

$$:當前程序的程序號

$!:後台執行的最後乙個程序號

$0:當前執行的程序名

#!

/bin/bash

echo "the letter you like is:$1 $2 $3" #輸出位置變數的引數

echo "本指令碼名:" $0

echo "本指令碼中引數的個數:" $#

cd /hom

#故意輸錯

echo #?

#上一條命令執行失敗 返回非0

cd /home

echo #?

echo "pid;" $$

(2)輸入/輸出內部命令

1.輸出命令:echo

2.輸入命令:read

舉例3:編寫乙個shell程式contact,接受使用者輸入的使用者名稱和**號碼,將這些資訊顯示在終端上,並儲存到contact.txt檔案vi中。

#!

/bin/bash

read -p "your name and phone:" name phone

echo $name,$phone

echo $name,$phone>contact.txt

shell除錯除錯跟蹤

1.-n選項

bash命令的「-n」選項使shell不執行指令碼,僅檢查指令碼中的語法問題。

2.-v選項

bash命令的「-v」選項使shell在執行程式過程中,將讀入的每乙個命令列都原樣輸出到終端。

3.-x選項

bash命令的「-x」選項使shell在執行程式過程中,把執行的每乙個命令在行首用乙個「+」號加上對應的命令顯示在終端上,並把每乙個變數和該變數的值也顯示出來。使用該選項更方便跟蹤程式的執行過程。

例項

1.增加使用者賬戶

舉例20:編寫乙個shell程式addaccount.sh,在系統中增加四個賬戶,同時設定他們的初始密碼為123456,主組群為wl15。

![在這裡插入描述](
2.統計子目錄和檔案數量

舉例21:

編寫乙個shell程式count.sh,統計當前目錄中子目錄以及檔案的數量。

九九乘法表

舉例22:編寫乘法口訣cfkj.sh,列印出九九乘法表。

Linux學習筆記之Shell入門

shell 是乙個命令列直譯器,它為使用者提供了乙個向 linux 核心傳送請求以便執行程式的介面系統級程式,使用者可以用 shell 來啟動 掛起 停止甚至編寫一些程式。shell 處在核心與外層應用程式之間,起著協調使用者與系統的一致性 在使用者與系統之間進行互動的作用。圖 1 是 linux ...

Linux系統Shell指令碼的入門學習

這段時間工作上接觸到linux下的shell指令碼,以前對shell程式設計是個門外漢,經過這幾天的鍛鍊,總算可以窺見一斑 使用shell指令碼,注定離不開很多指令碼命令,也可以說是linux系統下的,比如簡單的echo,uname,grep等 作為初學者,自然需要了解其基本的語法以及書寫規範,簡單...

Linux入門學習 Shell基本命令

使用系統中的圖形介面 使用shell命令 在命令列鍵入以下命令,系統立即關機 sudo shutdown h now在命令列鍵入以下命令,系統立即重新啟動 sudo shutdown r now sudo reboot now一位老師在對學生進行上機測試,時間限定在45分鐘內,否則計算機將自動關機。...