shell之基礎概念與變數類型

來源:互聯網
上載者:User

標籤:

靜態語言:編譯型語言 事先轉換成可執行格式
強型別(變數)
關鍵字:
C C++ JAVA C#

動態語言:解釋型語言 on the fly
弱類型
邊解釋邊執行
Asp.net shell PHP Python perl
面向過程
物件導向

變數:記憶體空間,命名

變數類型:事先確定資料的儲存格式和長度
字元
數值
整型
浮點型:11,23
整型:8bit 256
0-255 溢出-->緩衝區溢位

邏輯:
布爾類型:0,1
邏輯運算:與,或,非,異或
1:真
0:假

1&0=0
0&0=0
1&1=1

非:取反
!真=假
!假=真

shell :弱類型

強:變數使用前必須先聲明,甚至還要初始化
弱:變數用時聲明,甚至不區分類型

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

本地變數:
set VARNAME=VALUE:範圍整個bash進程

局部變數:
local VARNAME=VALUE :範圍為當前程式碼片段

環境變數:範圍為當前shell進程及其子進程
export VARNAME=VALUE
"匯出"

指令碼在執行時會啟動一個子shell進程
命令列中啟動的指令碼會繼承當前shell環境變數:
系統自動執行的指令碼(非命令列啟動)就需要自我定義需要各環境變數:

位置變數:
$1,$2,.....

特殊變數:
$?:上一個命令執行狀態傳回值:
程式執行後,可能有兩類傳回值
程式執行結果
程式狀態傳回碼(0-255)
0:正確執行
1-255:錯誤執行。1,2,127系統預留
輸出重新導向:
>
>>
2>
2>>
&>

/dev/null:軟體裝置 bit bucket 資料黑洞



bash
引用變數:${VARNAME} {}有時可省略


撤銷變數
unset VARNAME

查看當前shell中變數:
set

查看當前shell中的環境變數:
printenv
env
export
特殊變數,位置變數沒法查看




指令碼:命令的堆砌,按實際需要結合命令流程式控制制機制實現的來源程式

shebang:魔數
#!/bin/bash
#注釋行,不執行

shell之基礎概念與變數類型

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.