Linux-shell程式設計之bash變數
Bash變數命名規則
必須以字母下劃線開頭,只能由字母下劃線數字組成。
長度不能超過255個字元
變數名在有效的範圍內必須唯一
在Bash中,變數的預設型別都是字串
一 使用者自定義變數
使用者自定義的變數。區域性變數,只在當前shell有效。
格式:變數名=變數值
例如:x=5 # 等號兩邊不能有空格
y='hello world' # 如果變數值中有空格須用引號引起來。
呼叫:echo $x
變數疊加:
x=1
x="$x"23 或 x=${x}23
echo $x # 輸出123
變數檢視:
set
刪除變數:
unset 變數名 # 不加$
二 環境變數
全域性變數,在當前shell中和當前shell的子shell,子shell的子shell......中都有效
儲存的是和系統操作環境相關的資料。變數可以自定義,但是對系統生效的環境變數名和變數作用是固定的。
1、自定義一個環境變數:
export 變數名=變數值 或
變數名=變數值
export 變數名
檢視環境變數:
env 或 set
刪除環境變數:
unset 變數名 # 需要在變數宣告的shell中才可以刪除 在子shell中無法刪除
2、對系統起作用的環境變數:
2.1 $PATH # 系統搜尋可執行檔案的路徑
臨時修改PATH: PATH="$PATH":/home/sh
永久修改須改配置檔案。
2.2 PS1變數:
\d #顯示日期,格式為“星期 月 日”
\H #顯示完整的主機名。如預設主機名 “localhost.localdomain”
\t #顯示24小時制時間,格式為 HH:MM:SS
\A #顯示24小時制時間,格式為 HH:MM
\u #顯示當前使用者名稱
\w #顯示當前所在目錄的完整名稱
\W #顯示當前所在目錄的最後一個目錄
\$ #提示符。如果是root會顯示提示符# 普通使用者為$
用來修改提示符
PS1='[\[email protected]\h \W]\$' # 按需求從上述格式中取值
3、語系變數
locale # 查詢當前系統語系
LANG : 定義系統主語系
LC_ALL : 定義整體語系的變數
三 位置引數變數
主要用來向指令碼中傳遞引數或資料。變數名不能自定義,變數作用是固定的
位置引數變數 |
作用 |
$n | n為數字,$0代表命令本身,$1-$9代表第一到第九個引數,十以上的引數需要用大括號包含,如${10} |
$* | 這個變數代表命令列中所有的引數,$*把所有的引數看成一個整體 |
[email protected] | 這個變數代表命令列中所有的引數,不過[email protected]把每個引數區分對待 |
$# | 這個引數代表命令列中所有引數的個數 |
四 預定義變數
是Bash中已經定義好的變數,變數名不能自定義,變數的作用也是固定的。
預定義變數 | 作用 |
$? | 最後一次執行的命令的返回狀態。如果這個變數的值為0,證明上一個命令正確執行;如果這個變數的值為非0(具體是哪個數由命令自己決定),則證明上一個命令執行不正確了。 |
$$ | 當前程序的程序號(PID) |
$! | 後臺執行的最後一個程序的程序號(PID) |
相關推薦
Linux-shell程式設計之bash變數
Bash變數命名規則 必須以字母下劃線開頭,只能由字母下劃線數字組成。 長度不能超過255個字元 變數名在有效的範圍內必須唯一 在Bash中,變數的預設型別都是字串 一 使用者自定義變數 使用者自定
linux shell程式設計之利用環境變數IFS自定義分隔符
預設情況下,bash shell將空格符、製表符、換行符看作是欄位分隔符,如果遇到這些字元,bash shell就會認為字元後是一個新的欄位,這就帶來一種困擾:如果我們想處理包含空格、製表符、換行符的字元就會有麻煩了。bash提供了一種自定義分隔符的機制:環境變數IFS定義
Linux Shell程式設計之 for迴圈語句 if條件語句
最近涉及Linux Shell程式設計,還不太熟悉,對於賦值語句,數值計算,迴圈語句,變數使用都不太熟悉。我不打算一個一個的說明知識點,我打算用最多3個例子說明所有的這些知識點。 Example 1 : <span style="font-size:14px;
Linux shell程式設計:狀態變數
四大特殊狀態變數:$?、 $$、 $!、 $_ $?的作用是:獲取執行上一個指令的執行狀態返回值,返回0表示上一個命令或者程式執行成功,返回的值為非0則表示上一個命令執行失敗。 $$的作用是:獲取當前執行的shell指令碼的程序號PID。 $!的作用是:獲取上一個後臺工
Linux-Shell程式設計之建立shell指令碼並執行
1、建立檔案 touch myFirst.sh 2、編輯檔案 vi myFirst.sh 點選鍵盤的字母 I 進行編輯,輸入一下內容 #!/bin/bash # M
linux shell 程式設計之if(收藏學習)
if 語句格式if 條件 then Command else Commandfi 別忘了這個結尾 If語句忘了結尾fi test.sh: line 14: syntax error: unexpected end
linux中的shell程式設計之變數
shell程式設計主要是為了簡化linux系統管理的。 shell中的變數是一種弱型別的變數,c,java等語言是一種強型別的語言。 linux中的所有的變數預設型別都是字元型別的 零、bash變數的分類 bash變數的型別 變數型別
linux 下shell 程式設計之變數及數學運算
1.shell中的變數是不分資料型別的,統一按照字串來儲存 2. bash shell只能支援數學整數運算(zsh可以支援浮點) 3.以下都是在bash shell 下進行的數學運算 方法一使用方括號進行基本的整數運算: #!/bin/bash var1=1 var2=2
Linux學習筆記_shell程式設計之環境變數配置檔案
shell程式設計之環境變數配置檔案 https://www.imooc.com/learn/361 簡介:本課程是《Tony老師聊shell》系列課程的第三篇,為你帶來常用的Linux環境變數配置檔案的使用。對環境變數配置檔案的功能進行了詳解, 然後又介紹了其他環境變數配置檔案,包括登
Linux之bash變數和邏輯運算
什麼是變數? 變數最初來源於數學,指的是非固定的值可變化的數通常用拉丁字母表示。在計算機中變數它依舊指的是可變化的數,只不過表現形式有些變化。它指的是變數名+所指向的記憶體空間。 變數的特點 變數分強型別變數,與弱型別變數 強型別變數:變數需事先宣告且需提前定義其變數儲存格式 弱
linux中的shell程式設計之while迴圈和until迴圈
while迴圈語法: while [ 條件判斷式 ] do 程式語句 條件終止語句 done 例項:求1加到100的和 #!/bin/bash #!從1加到100 i=1 s=0 while [ $i -le 100 ] # 如果變數i
linux下shell 程式設計之擴充套件正則表示式
1. ‘+’ 限定字元 +限定符表示前面字元至少出現一次或者多次。與*不同在於0次或者多次 2. '?' 限定符 ?限定前面的字元最多出現一次。即出現0次或者1次 3. 數線 |和圓括號() 例如
Linux-shell程式設計基礎-變數
egrep及擴充套件的正則表示式 egrep = grep -E 擴充套件正則表示式的元字元 字元匹配: . [] [^] 次數匹配: * :任意次 ?:0或1次 + :1次或多次 {m}:匹配m次 {m,n}:至少m至多n次 錨定: ^ $ \<, \b詞首
shell程式設計之變數以及awk命令和rename命令
常用的環境變數可以用env和set檢視,但是最全面的還是man bash來檢視。 在這裡舉例一些常用的環境變數echo $HOSTNAME 檢視主機名 echo $HOSTTYPE 檢視主機系統型別 echo
linux基本操作---shell程式設計之 while迴圈
java中我們經常用到while迴圈,那麼shell中也有while迴圈: while簡單迴圈 直接看demo: demo1: 求1-10的和 [[email protected]02 software]# cat while1to10.sh
Linux 下的 shell 程式設計之 if-else選擇結構
Linux 中 shell 中if else 的使用方式比較簡單,. 相關的關鍵字有: if, elif , else, fi, 等. 1. if 的判斷表示式是 [] 2. if 的範圍
shell程式設計之變數型別
shell程式設計中系統預設所有變數都是字串型。當需要用到其他型別的變數是需要手動宣告。宣告格式如下: declare [+/-][選項] 變數名 -i 將變數宣告為整型 -a 將變數宣告為陣列型別 -x 將變數宣告為環境變數 -r 將變數宣
linux系統程式設計之程序的環境變數
環境變數: 環境變數,是指在作業系統中用來指定作業系統執行環境的一些引數。通常具備以下特徵: ① 字串(本質) ② 有統一的格式:名=值[:值] ③ 值用來描述程序環境資訊。 儲存形式:與命令列引數類似。char *[]陣列,陣列名environ,內部儲存
linux網路程式設計之posix 執行緒(四):posix 條件變數與互斥鎖 示例生產者--消費者問題
#include <unistd.h>#include <sys/types.h>#include <pthread.h>#include <semaphore.h>#include <stdlib.h>#include <stdio.h>
Linux下Shell程式設計之算術運算和邏輯比較(數值型別、字串型別、檔案型別)
shell程式設計中的算術運算和邏輯比較,主要根據不同運算物件,採用相應的比較、運算方式。 一、數值型 算術運算 ,以變數自增1為例,+ - * / % 等運算方式同理,運算的方式大體四種: i=`expr $i + 1` let i+=1 , let的操作成員不需要