歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux綜合 >> 學習Linux

詳解整理Linux bash變量

詳解整理Linux bash變量


熱度5 評論 172 www.BkJia.Com  網友分享於:  2017-02-10 07:02:03     浏覽數6138次

詳解整理Linux bash變量


導讀Linux中編寫SHELL腳本必然要接觸到變量,本文對bash中不同的變量類型進行一個簡要說明

詳解Linux bash變量詳解Linux bash變量

Bash變量類型
  1. 本地變量
  2. 局部變量
  3. 環境變量
  4. 位置變量
  5. 特殊變量(內置)

這裡需要注意的是對變量進行賦值時,"="兩邊是不能有空白的,否則就會報錯。

root@ubuntu:~# LIST='/etc'root@ubuntu:~# echo $LIST/etcroot@ubuntu:~# LIST = '/etc'LIST: command not found
本地變量

var_name=value:作用域為整個bash進程可以使用;
變量命名規范:

  1. 只能含字母、數字和下劃線,並且以字母和下劃線開頭。
  2. 最好不要跟系統已有的環境變量重名。
  3. 變量名可充分體現這個變量的作用。
局部變量

聲明局部變量使用“local”命令,局部變量作用域只在作用范圍內有效。
local var_name=value:作用域為當前代碼段

環境變量

作用域為當前shell進程及其子進程,不能影響到其父進程,聲明環境變量使用“export”命令。

export var_name=value

,如果變量已經定義可以只是用變量名 export var_name,即可用下面兩種方式聲明環境變量:
1. export var_name=value
2. var_name=value
export var_name
腳本在執行命令時會啟動一個子shell環境變量:
系統自動執行的腳本(非命令行啟動)就需要自我定義需要的個環境變量

位置變量
$1,$2,$3,……cat first.sh test.txt hello$1: first.sh$2: test.txt$3: hello

shift:踢掉參數
shift n:踢掉n個參數,默認踢掉一個參數
這裡需要注意的是$0為調用該腳本的名字,而參數作為變量的話第10個變量不能直接寫$10,而需要寫成${10}。

特殊變量

$?:上一個命令執行狀態的返回值:
程序執行可能有兩種返回值:
1. 程序執行結果
2. 程序狀態返回嗎(0-255)
0 則為執行正確
1-255 則執行出錯(1,2,127系統預留);
可以自定義返回值來獲取不同的錯誤狀態。

$#:獲取當前shell命令行中參數的總個數
$*:獲取當前shell的所有參數 “$1 $2 $3 …,受IFS控制
$@:這個程序的所有參數 “$1″ “$2″ “$3″ “…”,不受IFS控制
$0 獲取當前執行的shell腳本的文件名
$n 獲取當前執行的shell腳本的第n個參數值,n=1..9
$$ 獲取當前shell的進程號(PID)
$! 執行上一個指令的PID

原文來自:http://www.yunweipai.com/archives/4498.html

本文地址:http://www.linuxprobe.com/linux-bash-var.html


http://www.bkjia.com/Linuxjc/1191968.html TechArticle

Copyright © Linux教程網 All Rights Reserved