shell程式設計–bash變數介紹
導讀 | 程式設計--bash變數介紹 ,變數是計算機記憶體的單元,其中存放的值可以改變。當 Shell 需要儲存一些資訊時,如一個檔名或一個數字,就把它存放在一個變數中。 |
bash變數型別
- 本地變數
本地變數的作用域為整個bash程式。區域性變數屬於本地變數。在bash中宣告變數的週期隨著該程式的週期而存在。 定義本地變數:set VARNAME=Jerry 引用變數:${VARNAME},括號可省略 區域性變數的宣告:local VARNAME=VALUE
- 環境變數
環境變數的作用域為當前shell程式及其子程式宣告:export VARNAME=VALUE或者VARNAME=VALUE; export VARNAME指令碼在執行時會啟動一個子shell程式命令列中啟動的指令碼會繼承當前shell的環境變數系統自動執行的指令碼(非命令列啟動)就需要自我定義需要各環境變數
- 位置變數
$1, $2, ...shift: 對引數進行輪換,預設輪換一個引數#!/bin/bash#echo $1shiftecho $1shiftecho $1shift./filetest.sh /etc/fstab /etc/inittab $1:/etc/fstab $2:/etc/inittab
- 特殊變數
$?: 上一個命令執行狀態的返回值 程式執行,可能有兩類返回值: 程式執行結果 程式狀態返回程式碼(0-255) 0: 正確執行 1-255: 錯誤執行。1、2、127系統預留$#: 引數的個數$*: 引數列表$@: 引數列表
變數的撤銷及檢視
- 撤銷變數
unset VARNAME
- 檢視變數
set: 檢視當前shell中的變數(包括環境變數和本地變數) printenv、env、export: 檢視當前shell中的環境變數
變數命名規則
1、變數與變數內容以一個等號"="來連線,如下所示: MyName=Dabric 2、等號兩邊不能直接接空格符,如下錯誤: MyName= Dabric 或 Myname=Dab ric 3、變數名稱只能是英文字母與數字,但是開頭字元不能時數字; 4、變數內容若有空格符可使用雙引號或單引號將變數內容結合起來,但雙引號內的特殊字元如$等,可以保有原本的特性,如下所示: var="lang is $LANG" 則echo $var 可得 lang is en_US.UTF-8 單引號內的特殊字元則僅為一般字元(純文字),如下所示: var='lang is $LANG' 則echo $var 可得 lang is $LANG 總之在bash中: "":弱引用,可以實現變數替換 '':強引用,不完成變數替換 5、可以使用跳脫字元"\"將特殊字元(如[ENTER], $, \, 空格符, '等)變成一般字元,如: MyName=Dab\ ric 6、在一串指令的執行中,還需要藉由其他額外的指令所提供的資訊時,可以使用反引號"`COMMAND`"或"$(COMMAND)"。例如想要取得核心版本的設定: version=$(uname -r) echo $version如何進入到您目前核心的模組目錄: # cd /lib/modules/`uname -r`/kernel # cd /lib/moudles/$(uname -r)/kernel 7、若改變數為擴增變數內容時,則可用"$變數名稱"或${變數}累加內容,如下所示: PATH="$PATH":/home/bin 或 PATH=${PATH}:/home/bin 8、若該變數需要在其他子程式執行,則需要以export來使變數變成環境變數: # export PATH 9、通常大寫字元為系統預設變數,自行設定變數可以使用小寫字元,方便判斷; 10、取消變數的方法為使用unset:"unset 變數名稱"例如取消MyName的設定: # unset MyName 變數可以在bash配置檔案(~/.bashrc)中直接指定,保證每次登入shell該變數都存在
原文來自:
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69955379/viewspace-2674278/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- shell程式設計–bash變數程式設計變數
- Shell程式設計 --- Shell介紹程式設計
- shell Bash變數變數
- Shell程式設計-shell變數1程式設計變數
- Shell程式設計-02-Shell變數程式設計變數
- Shell程式設計-04-Shell中變數數值計算程式設計變數
- Shell程式設計-shell變數2-位置變數和預定義變數程式設計變數
- Shell程式設計規範與變數程式設計變數
- 多執行緒程式設計介紹-條件變數執行緒程式設計變數
- Linux中bash shell環境變數Linux變數
- 01 shell程式設計規範與變數程式設計變數
- 01 shell程式設計之變數定義程式設計變數
- Shell變數型別有哪些?linux運維shell程式設計變數型別Linux運維程式設計
- shell程式設計02——變數定義與使用程式設計變數
- shell程式設計—簡介(一)程式設計
- shell程式設計學習筆記(二):Shell中變數的使用程式設計筆記變數
- Linux shell程式設計(一)shell指令碼中的變數詳解Linux程式設計指令碼變數
- shell指令碼程式設計學習筆記——變數指令碼程式設計筆記變數
- NIO程式設計介紹程式設計
- shell介紹
- Linux_day06_01_Shell指令碼程式設計_Bash基礎Linux指令碼程式設計
- python入門,程式設計基礎概念介紹(變數,條件,函式,迴圈)Python程式設計變數函式
- 『忘了再學』Shell基礎 — 27、AWK程式設計的介紹和基本使用程式設計
- Linux Bash程式設計Linux程式設計
- Linux Bash Shell 指令碼入門(3)——Linux常用命令介紹Linux指令碼
- Java中函數語言程式設計Monad概念介紹Java函數程式設計
- CNCKAD數衝鐳射程式設計排版軟體介紹程式設計
- Linux中Libevent程式設計介紹Linux程式設計
- Python多工程式設計介紹Python程式設計
- MongoDB shell 介紹MongoDB
- [20190126]從sqlplus執行結果返回bash shell變數.txtSQL變數
- 【shell程式設計】目錄檔案計數程式設計
- 好程式設計師大資料教程分享HDFS常用shell和web介面介紹程式設計師大資料Web
- Linux系統程式設計之程式介紹Linux程式設計
- Shell程式設計程式設計
- Shell指令碼程式設計規範與變數(shell指令碼必須要知道的規矩!)指令碼程式設計變數
- shell 語法介紹
- Shell echo命令介紹