前記:這裡是我做的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
please
input
your 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...