一、shell腳本基礎
1、第一個腳本
vim first.sh
./first.sh (需要有可執行的權限)
sh first.sh
. first.sh(或source first.sh)
2、重定向與管道符
1)重定向輸出(>)
useradd jerry
vi pass.txt (在裏面輸入123456,保存退出)
4)錯誤重定向(2>)
例如:在編譯源碼包的自動化腳本中,若要忽略make,make install等操作過程的信息,可以將其定向到空文件/dev/null
先掛載光盤(第一章的“linux安全及高級應用_web網絡服務.iso”),將光盤的中的httpd-2.2.17.tar.gz文件解壓到/usr/src下,編寫腳本安裝。
vim httpd_install.sh
chmod +x httpd_install.sh (設置可執行權限)
./ httpd_install.sh (執行腳本,等待結束後,查看結果)
6)管道符(|)
先查看以“/bin/bash”結尾的行
只輸出用戶名和登錄的shell列
1、定義新的變量
1)雙引號使用(”):賦值的內容包含空格時
2)單引號使用(’):賦值的內容中包含$, ‘’ , \ 等具有特殊含義的字符時
5)read命令:用來提示用戶輸入信息,例如:
新定義的變量只在當前shell有效,如果想進入新的shell環境同樣有效,就需要使用export命令將變量導出爲“全局變量”
也可以在export導出全局變量的同時,也可以爲變量賦值,例如:
加(+),減(-),乘(\*),除(/),求模(%)
三、特殊的shell變量
1、環境變量(系統自身就有)
環境變量系統安裝好了就存在,不用創建,可以直接使用,查看一下環境變量
我們可以把腳本直接添加到$PATH搜索路徑中去,這樣執行腳本的時候就不用加./了
如:first.sh腳本在 /root目錄下
位置變量也稱之爲位置參數,使用$1,$2,$3,$4…..$9表示
$#(表示命令行中位置參數的個數)
$*(表示所有位置參數的內容)
$?(表示前一個命令執行後的返回狀態,返回值爲0表示執行正確,非0表示出現異常)
$0(表示當前執行的腳本或程序的名稱)
如:編寫一個備份的小腳本