1. 程式人生 > >簡單shell腳本入門了解

簡單shell腳本入門了解

shell腳本

一、Shell腳本

腳本:可以執行文件,運行後可以實現某種功能(命令的堆積,非交互)

規範Shell腳本的一般組成

#! 環境聲明(Sha-Bang)

# 註釋文本

可執行代碼

二、簡單寫一個shell腳本,按照國際慣例,還是輸出hello world

[root@server0 ~]# vim /root/1.sh

#!/bin/bash

echo hello world

[root@server0 ~]# chmod +x /root/1.sh

[root@server0 ~]# /root/1.sh


管道傳遞

使用 | 管道操作

– 將前一條命令的標準輸出交給後一條命令處理

三、重定向輸出


>:只收集前面命令的正確輸出

2>:只收集前面命令的錯誤輸出

&>:收集前面命令的錯誤與正確輸出

/dev/null #Linux黑洞設備,專用於收集不要的輸出結果

變量:為了增加腳本的適用環境的能力,增加腳本的靈活度,方便。

變量: 容器,以不變的名稱,儲存變化的值

變量名=變化的值

使用變量: $變量名

為了降低腳本使用難度,可以產生交互

read :可以產生交互,將鍵盤輸入的內容賦值給變量

什麽是變量

以不變的名稱存放的可能會變化的值

– 變量名=變量值

– 方便以固定名稱重復使用某個值

– 提高對任務需求、運行環境變化的適應能力

設置變量時的註意事項

– 若指定的變量名已存在,相當於為此變量重新賦值

– 等號兩邊不要有空格

– 變量名由字母/數字/下劃線組成,區分大小寫

– 變量名不能以數字開頭,不要使用關鍵字和特殊字符

基本格式

– 引用變量值:$變量名

– 查看變量值:echo $變量名、echo ${變量名}

變量的種類

位置變量

在執行腳本時提供的命令行參數(非交互式傳值)

預定義變量

用來保存腳本程序的執行信息

– 直接使用這些變量

– 不能直接為這些變量賦值


$# 已加載的位置變量的個數

$* 所有位置變量的值

$? 程序退出後的狀態值,0表示正常,其他值異常

$() :將命令的輸出結果,作為參數

常用的測試選項


檢查文件狀態

-e:文檔存在為真

-d:文檔存在且為目錄為真

-f:文檔存在且為文件為真

-r:文檔存在且有讀取權限為真

-w:文檔存在且有寫入權限為真

-x:文檔存在且有執行權限為真


比較整數大小(帶e都有等於二字,g代表大於,l代表小於)


-gt:大於

-ge:大於等於

-eq:等於

-ne:不等於

-lt:小於

-le:小於等於


字符串比對

== :相等

!=:不相等

for循環結構

循環結構:將反復執行的語句,循環去執行

for 變量名 in 值列表

do

命令序列

done


簡單shell腳本入門了解