bash腳本編程之——變量、變量類型

shell編程: 編譯器,解釋器php

編程語言:機器語言、彙編語言、高級語言c++

靜態語言:變異型語言shell

    強類型(變量)
編程

    事先轉換成能夠執行格式
c#

    c、c++、JAVA、c#
bash

動態語言:解釋型語言,(on the fly)編程語言

    弱類型
ide

    邊解釋邊執行
命令行

    php、SHELL、Python、Perl
對象


面向過程:shell、c

面向對象:JAVA、Python、Perl、c++


變量:內存空間,命名

內存:編址的存儲單元


變量類型:事先肯定數據的存儲格式和長度

    字符型

    數值型

        整型

        浮點型


整型,8bit:保存256

0-255 溢出


邏輯:1+1>2

邏輯運算:與、或、非、異或

1:真

0:假

與:

1&0=0

0&1=0

0&0=0

1&1=1

非:

!真=假

!假=真


shell:弱類型編程語言

強:變量在使用前,必須事先聲明,甚至還須要初始化

弱:變量用時聲明,甚至不區分類型

bash變量類型:環境變量   本地變量(局部變量)  位置變量  特殊變量

本地變量:

 VARNAME=VALUE  做用域爲整個 bash進程:

    引用變量:${變量名},括號有的時候能夠省略

    [root@localhost ~]# name=jack

    [root@localhost ~]# echo $name

    

    jack

    [root@localhost ~]# animal=dog

    [root@localhost ~]# echo "there are some ${animal}s"

    there are some dogs


局部變量:

local VARNAME=VALUE:做用域爲當前代碼段:


環境變量:

做用域爲當前shell進程及其子進程。

expore VANAME=VALUE

    "導出"

位置變量:

$1, $2,......


特殊變量:

$?:上一個命令執行狀態返回值;

    程序執行。肯能有了兩類返回值;    

    1.程序執行結果

    2.程序狀態返回代碼(0-255)   

        0:正確執行

        1-255:錯誤執行 ,   1,2 ,127 系統預留

輸出重定向:

> :覆蓋重定向

>>:追加劇定向

2>:錯誤重定向

2>>錯誤追加劇定向

&>同時重定向


撤銷變量:

unset vaname

查看當前shell中變量;

set

查看當前shell中的環境變量:

princev

env

export


腳本:命令的堆砌,按實際須要,結合命令流程機制實現的源程序

shebang:魔數

#!/bin/bash

#:而後的#都是注釋行


腳本在執行時會啓動一個子shell環境變量;


/dev/null:軟件設備,bit bucket,數據黑洞



腳本在執行時會啓動一個子shell進程;

    

    命令行中啓動的腳本會繼承當前shell環境變量;

    系統自動執行的腳本(非命令行啓動)就須要自我定義須要各環境變量

相關文章
相關標籤/搜索