SHELL腳本基礎速覽

變量的賦值:

Shell變量賦值從右到左進進行賦值


格式:NAME=value

變量的聲明:
 
export
變量名


 export NAME=value

SHELL腳本基礎速覽

declare –x 變量名

declare –x NAME=value

SHELL腳本基礎速覽

 

readonly 變量名
 

特定情況下需要使用到只讀變量


readonly NAME=value


  SHELL腳本基礎速覽
變量的調用:

 

在變量前加$,即可在一定環境下使用

  SHELL腳本基礎速覽
 
 若變量和其他字符組成新的字,這時就必須給變量加上大括號{},以更加清楚的顯示給shell,哪個是真正的變量,加以區分。

SHELL腳本基礎速覽

顯示變量值
echo
命令:需要注意的是,使用變量的時候必須在變量名前加上$符號。

SHELL腳本基礎速覽

set命令:顯示所有本地SHELL變量。包括SHELL中預定義了一些環境變量,且用戶自己已經定義過的本地變量也會在其中顯示。
  SHELL腳本基礎速覽


4
,使用unset命令刪除變量的賦值
 
SHELL腳本基礎速覽

Shell參數
 
$# 是傳給腳本的參數個數

 

$0 是腳本本身的名字

 

$1 是傳遞給該shell腳本的第一個參數

 

$2 是傳遞給該shell腳本的第二個參數

 

$@ 是傳給腳本的所有參數的列表

 

$* 是以一個單字符串顯示所有向腳本傳遞的參數,與位置變量不同,參數可超過9

 

$$ 是腳本運行的當前進程ID

 

$? 是顯示最后命令的退出狀態,0表示沒有錯誤,其他表示有錯誤


   
 

運行Shell程序的方法
 Shell
腳本可以通過shell程序是解釋執行的

程序的第一行一般為“#/bin/bash”,其中# 表示該行是注釋

嘆號!告訴Shell運行嘆號之后的命令并用文檔的其余部分作為輸入,也就是運行/bin/bash并讓/bin/bash去執行Shell程序的內容。
 

執行Shell程序的方法有3種。
 
1
bash Shell程序文件名
 
這實際上是調用一個新的bash命令解釋程序,而把Shell程序文件名作為參數傳遞給它。新啟動的Shell將去讀指定的文件,可執行文件中列出的命令,當所有的命令都執行完后結束。
 
 
2
.用chmod命令使Shell程序成為可執行的
 
一個文件能否運行取決于該文檔的內容本身可執行且該文件具有執行權。對于Shell程序,當用編輯器生成一個文件時,系統賦予的許可權都是644(rw-r-r–),因此,當用戶需要運行這個文件時,只需要直接輸入文件名即可。
 

最好按下面的方式選擇:當剛創建一個Shell程序,對它的正確性還沒有把握時,應當使用第一種方式進行 調試。

當一個Shell程序已經調試好時,應把它固定下來,以后只要輸入相應的文件名即可,并可被另一個程序所調用。
 
bash
程序的調試
 
Shell
程序的調試主要是利用bash命令解釋程序的選擇項。調用bash的形式是:
 
bash –
選擇項Shell程序文件名
 
幾個常用的選擇項是:
 
-e
如果一個命令失敗就立即退出。
 
-n
讀入命令但是不執行它們。
 
-u
置換時把未設置的變量看做出錯。
 
-x
執行命令時把命令和它們的參數顯示出來。

原創文章,作者:sean0910,如若轉載,請注明出處:http://www.www58058.com/73340

(0)
sean0910sean0910
上一篇 2017-04-14 23:57
下一篇 2017-04-15 17:26

相關推薦

  • 文件查找與壓縮

    文件查找與壓縮   Locate:非事實查找(數據庫查找)     查詢系統上預建的文件索引數據庫 /var/lib/mlocate/mlocate.db 依賴于事先構建的索引; 索引的構建是在系統較為空閑時自動進行(周期性任務); 管理 員手動更新數據庫(updatedb);   工作特點: 查找…

    Linux干貨 2016-08-18
  • N25第五周博客作業

    第五周博客作業   1、顯示/boot/grub/grub.conf中以至少一個空白字符開頭的行;   2、顯示/etc/rc.d/rc.sysinit文件中以#開頭,后面跟至少一個空白字符,而后又有至少一個非空白字符的行;   3、打出netstat -tan命令執行結果中以‘LISTEN’,后或跟空白字符結尾的行; &nbs…

    Linux干貨 2016-12-28
  • 管道,用戶組管理

    管道 |          把左邊的命令執行結果輸送到右邊的命令作為參數執行,可以多管道多任務執行     這就是linux的哲學思想之一,鏈接程序,共同完成復雜任務     錯誤輸出默認不能通過管道…

    Linux干貨 2016-08-04
  • 搭建雙主模型lpvs的高可用集群

    一、實驗要求: 1、基于LVS-DR模型上實踐; 2、調度器高可用(雙主模型); 二、實驗拓撲圖: 三、實驗步驟: 1、  設置RS (a)設置http主頁 Yum install httpd Vim /var/www/html/index.html <h1>172.18.24.3 server 1或者172.18.24.5server…

    2017-05-15
  • 文件系統結構

    -文件系統結構
    -應用程序的組成部分
    -文件類型

    2018-03-13
  • 第二周(8.15-8.21)博客作業

    1、Linux上的文件管理類命令都有哪些,其常用的使用方法及其相關示例演示。 #touch 如果a.txt不存在,生成一個新的空文檔a.txt。如果a.txt存在,那么只更改該文檔的時間信息 #ls  是list的簡寫,列出當前目錄下的所有文件名 #cp a.txt b.txt  cp是copy的簡寫,用來復制文件。在工作目錄下,將a.t…

    Linux干貨 2016-08-24
欧美性久久久久