Shell腳本入門

Shell腳本入門總結

作者:馬鵬
歸檔:學習筆記
2017/7/20

格式說明:
藍色字體:註釋
×××背景:重要
綠色背景:注意

目 錄
第1章 常見的shell類型 II
第2章 shell的好處 II
第3章 本次shell課程的目的 II
第4章 如何學習shell腳本 III
4.1 shell腳本是什麼 III
4.2 學習shell準備工作: III
4.3 shell腳本的書寫格式: III
學習腳本 IV
第5章 命令這裏就不多說了 IV
第6章 變量: V
6.1 變量的分類: V
6.1.1 全局變量 V
6.1.2 局部變量 VI
擴展 VII
6.1.3 特殊變量(位置變量、執行進程判斷變量) VIII

Shell腳本入門總結

shell(殼)提供了一個高級語言和彙編語言溝通的橋樑,通過shell我們可以將高級語言的執行指令發送給硬件使用二級制完成指令。
第1章 常見的shell類型
/bin/bash ###linux常用的shell
/bin/sh ###和/bin/bash屬於軟連接文件關係
[root@mapeng-linux bin]# ll /bin/sh
lrwxrwxrwx. 1 root root 4 Apr 25 19:17 /bin/sh -> bash
[root@mapeng-linux bin]#
/sbin/nologin ###一個特殊的shell、用戶使用這個shell將無法登陸系統。常用於創建傀儡賬號使用
第2章 shell的好處
1) 批處理
2) 提高工作效率
3) 減少重複工作
第3章 本次shell課程的目的
1) 能看懂腳本
2) 嘗試寫簡單的腳本
3) 爲後面的期中架構做基礎
第4章 如何學習shell腳本
4.1 shell腳本是什麼
shell腳本 ①是一個程序文件由若干個命令組成命令語句,
②有命令、變量和流程控制語句的結合體
4.2 學習shell準備工作:
1) 統一腳本存放路徑: /server/scripts/
[root@mapeng-linux /]# mkdir -p /server/scripts/
2) 統一使用vim編輯腳本
vim “腳本名稱”
3) 統一腳本的標識(開頭說明信息)
4)

4.3 shell腳本的書寫格式:

學習腳本

shell腳本是有命令、變量和流程控制語句的結合體

第5章 命令這裏就不多說了
1)常用命令掌握300個
2)熟練使用awk、sed、grep以及正則表達式
第6章 變量:
6.1 變量的分類:
6.1.1 全局變量
6.1.1.1 特點:
① 全員生效
② 通常使用大寫來定義
6.1.1.2 使用:
① 查看全局變量
###使用命令env
root@mapeng-linux /]# env
HOSTNAME=mapeng-linux
TERM=xterm
SHELL=/bin/bash
HISTSIZE=1000
SSH_CLIENT=192.168.60.1 49277 22
SSH_TTY=/dev/pts/0
USER=root
② 定義全局變量
###使用命令export "變量名稱"=“變量內容”
1創建個全局變量 MP=74110
[root@mapeng-linux /]# export MP=74110
[root@mapeng-linux /]# env |grep MP
MP=74110
[root@mapeng-linux /]# echo $MP
74110
[root@mapeng-linux /]#

③ 刪除全局變量
###使用命令unset “變量名稱”
[root@mapeng-linux /]# unset MP
[root@mapeng-linux /]# echo $MP

[root@mapeng-linux /]#
④ 讓變量永久生效
讓變量永久生效:
1)全局環境變量配置文件: /etc/profile /etc/bashrc /etc/profile.d
2) 用戶環境變量配置文件: /home/“用戶”/.bash_profile ~/.bashrc
6.1.2 局部變量
6.1.2.1 特點:
① 只對當前設置用戶生效
② 變量名稱規範:
4)
擴展
單引號、雙引號和不加引號的區別

雙引號:解析變量
單引號:所見即所得
演示環境:
[root@mapeng-linux /]# a=192.168.1.1
[root@mapeng-linux /]# b="192.168.1.1"
[root@mapeng-linux /]# c='192.168.1.1'
[root@mapeng-linux /]# echo 'a=$a'
a=$a ###單引號、所見即所得
[root@mapeng-linux /]# echo "a=$a"
a=192.168.1.1 ###解析變量
[root@mapeng-linux /]#
[root@mapeng-linux /]# echo a=$a
a=192.168.1.1 ###相當於雙引號、單支持通配符
[root@mapeng-linux /]#

6.1.3 特殊變量(位置變量、執行進程判斷變量)
6.1.3.1 位置變量
1) $0:動態提示語句(動態生成文件名)
腳本演示:
[root@mapeng-linux /]# sh hostname.sh
hostname.sh
[root@mapeng-linux /]# cat hostname.sh
#!/bin/bash
cd /root/
echo $0
[root@mapeng-linux /]#
2)$n:獲取當前執行shell腳本的第幾個參考值,n=1-9
腳本演示:
$1~$n
添加到Shell的各參數值。$1是第1參數、$2是第2參數…。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章