shell腳本地功能--用戶和內核連接的特殊程序。
編程語言:編譯型和腳本語言(script 。shell就是腳本語言)
shell腳本的類型:
1.非交互式腳本
2.交互式腳本
shell編程的基礎:
1.文本編輯器 vi(vim)當然,shell是純文本,可以使用任何文本編輯器(不要用word)
2.熟悉linux文件系統的佈局
3.學習shell的各種功能
重定向,管道,命令替換,命令聚合
4.學習各種管理和監視命令的使用
用戶管理,權限管理,進程管理,包管理,系統監視,網絡監視
5.學習各種文本文件工具使用:
cat grep tr sed awk,正則表達式
shell 腳本的格式:
Sha-Bang(#!)(shell 腳本開始符號的讀法)
#! /bin/bash 告訴解釋器用什麼工具(或語言)解釋下面的代碼。
可執行語句和shell控制結構
一個shell腳本通常由一組linux命令,shell命令,控制結構和註釋語句構成。
shell腳本是純文本文件,可以使用任何文本編輯器編寫。
一般默認.sh結尾的後綴名(約定俗成,但是不要誤會,linux沒有後綴名這個東西。一切都是文件)
命令是shell腳本最基本元素,通常由命令名稱、選項和參數組成
腳本實例:
./test.sh -f config.conf -v --prefix=/home
-(短選項)與後面連接用空格 --(長選項)和後面用等號連接
執行:
第一種方法:授權chmod +x script_name(讓腳本有可執行權限)
755
第二種執行方式:通過工具(命令/bin/bash)
bash
; && || 區別
; 可同時執行多個命令。並且每個命令都不會對其它命令產生影響。
&& 一般是2個命令連接。如果前一個命令執行成功,纔會執行後一個命令,如果失敗後面的命令就不執行。
|| 一般也是2個命令的連接,如果前一個命令執行不成功,纔會執行後一個命令。
實例:
[root@swallow ~]# more test.sh
#!/bin/bash
datt;date
echo
datt&&date
echo
datt||date
exit 0
從執行結果理解含義:
[root@swallow ~]# sh test.sh
test.sh: line 2: datt: command not found
Sun Mar 19 06:17:40 CST 2017
test.sh: line 4: datt: command not found
test.sh: line 6: datt: command not found
Sun Mar 19 06:17:40 CST 2017
特殊字符:
#! 開始的標誌
; 多個命令一起連用的分隔符
[root@swallow log]# echo a;echo b;echo c
a
b
c
. 多種作用:
1. 相當與 source 命令
2. 作爲文件名稱的一部分(隱藏文件名) (使用ls -a 可以查看linux下面的隱藏文件)
3.如果作爲目錄名的話,一個單獨的點代表當前工作目錄,兩個點代表上一級目錄。
一般用於複製的時候使用 $ cp /usr/local/mysql/* .
4.在匹配字符的時候用來匹配 任意單個字符
\ 稱爲轉義符。一種對單字符的引用機制。
/ 文件名稱分隔符 比如 (/usr/local/mysql)
``(esc按鍵下面的那個按鍵) 用於引用命令。一般用法:`command` 將結果作爲參數。
> >> |
覆蓋(重定向) 追加(重定向) 管道符(前面的輸入作爲和麪的輸出)
控制字符:(適用於CRT(連接終端))
ctrl + L 清屏
ctrl + U 刪除光標到開頭的字符
ctrl + K 刪除光標所在位置到行尾的字符
ctrl + C (break 終結一個前臺作業)
ctrl + D (和 exit很想。登出一個)
ctrl + M (回車)
ctrl + S (掛起。在一個終端中凍結stdin)
ctrl + Q (恢復。在一個終端恢復stdin
ctrl + Z (暫停操作)
ctrl + a (光標移動到行首)
ctrl + e (光標移動到行尾)
shell 學習筆記整理(一)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章
shell基礎(自己看視頻寫的,不是特別全)
煞筆猖獗
2019-02-23 13:14:44
路由交換基礎 (推薦)
spoilsin
2019-02-23 13:37:36
Linux基礎系列之--Linux基礎入門
靜思知意
2019-02-23 13:23:52
燒一根不均勻的繩,從頭燒到尾總共需要1個小時
zhouyi05404
2019-02-23 13:11:32
python腳本簡化jar操作命令
神牛003
2019-02-23 17:41:06
我的shell編程
sly8259336
2019-02-23 13:49:29
shell下<tab>字符的匹配問題
zzkjia
2019-02-23 13:30:44
如何使用shell將文件中單詞首字母轉換爲大寫
zzkjia
2019-02-23 13:30:43
如何在Shell中判斷一個變量是否爲整數
zzkjia
2019-02-23 13:30:43
##shell腳本從零開始
煞筆猖獗
2019-02-23 13:14:44
shell腳本應用(2)
煞筆猖獗
2019-02-23 13:14:44
shell腳本實例(隨堂筆記)
煞筆猖獗
2019-02-23 13:14:44