Linux shell指令碼編程入門 (一)

來源:互聯網
上載者:User

標籤:shell   linux   指令碼   入門   

環境變數


一些命令

shell指令碼中經常出現各種環境變數,因此要寫指令碼,必須先來瞭解環境變數.常見的處理環境變數的命令,列舉在下面

  • set 用來顯示本地變數
  • env 用來顯示環境變數
  • export 用來顯示和設定環境變數
  • source 後面跟一個檔案,可以直接執行檔案裡的指令碼命令並更新
常見的環境變數
  • 位置參數

相當於C語言中, main函數的argv數組, 這裡用 $num 表示,其中 num 是指代一個數字. 見下面的程式執行個體

# foot.sh#!/bin/shecho "#0 $0"echo "#1 $1"echo "#2 $2"echo "#3 $3"echo "#4 $4"echo "#5 $5"echo "#10 ${10}"# 注意這裡的花括弧

  • 列舉一些變數

列舉一些常見的變數, 可以通過 echo 直接查看

PWD當前路徑, bash 的 pwd 命令即是輸出該路徑OLDPWD前一個目錄PATHshell的命令路徑HOME使用者的家目錄SHELL當前的shellUSER使用者名稱UID使用者 id 可以參考 /etc/passwdPPID建立當前進程的進程號,即父進程號PS1提示符變數

引用

一般字串可以不用引號,加了引號(單引號或者雙引號,都是為了屏蔽特殊字元的特殊意義,如星號等)

"1 is $1" 雙引號 引用除了貨幣符號($)  反引號(``) 反斜線( \ )的字串,可以輸出單引號
‘1 is $1‘ 單引號 單引號裡面的字串會原樣輸出,包括雙引號,但是不能輸出單引號
varA=`pwd` 反引號 講反引號裡面的內容解釋為 shell 命令
注: ${pwd} 和 `pwd` 的意思是一樣的, 返回的結果是一個字串,而且會刪除分行符號


比較

把運算式放在中括弧裡,如 ["$num1" -eq 20]   條件滿足就返回 0

比較子

-eq euqal ==
-ge greater or equal >=
-gt greater >
-le less or equal <=
-lt less than <
-ne not equal !=


檔案操作符

-d file directory 是否為 目錄
-e file exist 是否 存在
-f file file 是否為 普通檔案
-r file readable 是否 可讀
-s file   檔案長度是否不為零
-w file writable 是否 可寫
-x file executive 是否 可執行
-L file linkable 是否 是符號化連結


邏輯運算子

!expression 邏輯非
expression1 -a expression2 邏輯與 and
expression1 -o expression2 邏輯或 or


Linux shell指令碼編程入門 (一)

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.