Linux shell 程序設計4——shell變量

一、shell變量沒有類型,全部變量都被看成字符串來處理。linux

二、shell變量的命名和c語言相同。shell

三、shell變量賦值和c語言略有不一樣,shell賦值要求等號的兩邊不能出現空格,而在linux C 中,通常爲了加強代碼的可讀性,等號的兩邊都加一個空格。若是shell變量的賦值爲字符串,並且字符串中含有空格,則必須給該字符串加單引號或雙引號。數組

四、shell變量不一樣於c語言,無需定義可直接賦值使用。例如:bash

#!/bin/bash
#This is an example to show how to use variables

version="2.6.24"
name="linux-headers-2.6.24"

echo -e "name:$name\nversion:$version"

執行結果:命令行

name:linux-headers-2.6.24
version:2.6.24

五、shell變量的做用範圍是本shell環境。例如:設計

咱們編寫以下腳本:code

#!/bin/bash
#script name: exam.sh
#This is a example to show the action range of a variable

os_name=linux
echo $os_name

當咱們使用./exam.sh執行腳本結果爲:繼承

linux

而後咱們在命令行中執行:進程

echo $os_name 結果爲空

而若是使用 source exam.sh 執行腳本或者是 .空格exam.sh命令執行腳本後鍵入echo $os_name 命令,咱們會獲得:ip

linux

六、有一種能繼承給子shell的變量,稱之爲環境變量。讓一個變量變身爲環境變量的方法爲:

export 變量名

例如:在終端中咱們敲入以下命令:

執行腳本:

#!/bin/bash
echo $a

咱們什麼也不能獲得。而若是在終端中使用命令:

export a=linux

而後執行上述腳本,咱們的到結果:

linux

七、shell內置變量:bash設置了許多內置變量,在進行shell程序設計的時候可能須要用到。詳見:

$?:最後一次執行的命令的返回碼
$$:shell進程本身的PID
$!:shell進程最近啓動的後臺進程PID
$#:shell腳本參數個數,不含腳本名
$0:腳本文件自己的名字
$一、$2...:第一個參數、第二個參數...
$*:表明全部的參數(不含腳本名)組成的字符串
$@:命令行參數組成的多個字符串,每一個參數對應一個

八、設置shell變量屬性:

readonly:使用readonly命令能夠

相關文章
相關標籤/搜索