shell基礎篇(一)從hello world開始

2021-06-25 13:05:41 字數 2279 閱讀 3127

前記:這裡是我做的shell筆記;接下來會提供一系列。

shell是一種指令碼語言,那麼,就必須有直譯器來執行這些指令碼。unix/linux上常見的shell指令碼直譯器有bash、sh、csh、ksh等,習慣上把它們稱作一種shell。我們常說有多少種shell,其實說的是shell指令碼直譯器。

至於這幾種指令碼直譯器的介紹與區別;說白我也不清楚;自己查資料去吧;其實知不知道並不是很重要。這並不影響你會不會shell。

1. 新建乙個檔案例如lottu01.sh,擴充套件名為sh(sh代表shell),副檔名並不影響指令碼執行,見名知意就好。還是從"hello world"開始吧。 1

2

#!/bin/bash

echo"hello world !"

註解:「#!」 是乙個約定的標記,它告訴系統這個指令碼需要什麼直譯器來執行,即使用哪一種shell。我就用bash吧

echo:是shell中的輸出命令;把其後面的字串輸出到螢幕上。--這也是大家都知道的。

2. 執行指令碼 1

2

3

$chmod+x lottu01.sh#給指令碼執行許可權

$ ./lottu01.sh

hello world !

注意,一定要寫成./test.sh,而不是test.sh。

直接寫test.sh,linux系統會去path裡尋找有沒有叫test.sh的,而只有$home/bin, $home/sbin, /usr/bin,/usr/sbin等在path裡,你的當前目錄通常不在path裡,所以寫成test.sh是會找不到命令的,要用. /test.sh告訴系統說,就在當前目錄找。

當然也可以寫test.sh。做如下操作

cp lottu01.sh ../bin/     # ../bin是當前使用者home目錄的bin下面。這個大家別誤解了。

再去測試下 lottu01.sh是否ok。 1

2

3

$cp lottu01.sh ../bin/

$ lottu01.sh

hello world !

3. 說說read命令

剛剛說的echo是shell中的輸出;那麼輸入呢;就說說read吧。--這個在以後章節會詳細講解。

1

2

3

4

5

6

7

8

9

10

11

12

13

14

#!/bin/bash

# author : lottu

# start script

echo"please input your name ?"

read name

echo"hi, $"

測試:

$ chmod+x lottu02.sh

$ ./lottu02.sh

pleaseinputyour name ?

lottu--這裡你輸入的name。

hi, lottu

【note】

1. 指令碼第一行-#!/bin/bash;為指令碼的直譯器;當然也可以不寫;當時你就必須這樣執行

/bin/bash script;

2. echo,read命令;這個到後面補充下。

shell入門 基礎命令篇

diff 命令 diff 命令是用來比較兩個檔案或目錄的不同 diff 在比較檔案過程中結果讀取方式 num1 num2 a c d num3,num4 num1,num2 表示在第乙個檔案中的行數 a 表示新增 add c 表示更改 change d 表示刪除 delete 表示第乙個檔案中的內容...

shell基礎篇(十)shell指令碼的包含

前記 寫到這裡 shell中基礎差不多已經講完了。希望你已經對shell有了乙個基本了解。你可能躍躍欲試,要寫一些程式練習一下。這會對你很有好處。建議大家去chinaunix去學習 我是li0924.我會定期去上面做做題。是乙個很不錯的學習平台。可能那上面遇到最多的題目是awk sed的。當然還有對...

shell學習筆記1 基礎篇

使用者正常退出shell時,系統會將敲過的命令存入.bash history中。與history有莫大的關聯。1 表示執行上一條命令 2 n,n表示數字,表示執行history中第n條命令 3 可以進行模糊匹配,如 pass可以執行之前輸過的passwd命令 將複雜的命令賦值給乙個簡單的別名 1 a...