linux學(xué)習(xí) Day12-bash編程 變量

編程語(yǔ)言:機(jī)器語(yǔ)言,匯編語(yǔ)言,高級(jí)語(yǔ)言

一 動(dòng)態(tài)語(yǔ)言與靜態(tài)語(yǔ)言

靜態(tài)語(yǔ)言:編譯型語(yǔ)言

強(qiáng)類型(變量):變量在使用前,必須事先聲明,甚至還需要初始化。
事先轉(zhuǎn)換成可執(zhí)行格式
C,C++,JAVA,C#

動(dòng)態(tài)語(yǔ)言:解釋型語(yǔ)言

弱類型:變量用時(shí)聲明,甚至不區(qū)分類型。
不區(qū)分類型:默認(rèn)為字符串。
PHP,SHELL,python,perl

變量賦值:VAR_NAME=VALUE

引用變量:${VARNAME}

括號(hào)有時(shí)可以省略
example:"There are some $(ANIMAL)s."
雙引號(hào)為強(qiáng)引用,內(nèi)部有變量需要替換則需要用強(qiáng)引用。

面向過(guò)程:shell,C
面向?qū)ο螅篔AVA,Python,perl,C++

二 一些概念

變量:內(nèi)存空間,命名

變量類型:事先確定數(shù)據(jù)的存儲(chǔ)格式和長(zhǎng)度

1. 字符

2. 數(shù)值

(1) 整型

(2) 浮點(diǎn)型

內(nèi)存:編址的存儲(chǔ)單元

進(jìn)程:

三 邏輯運(yùn)算:與,或,非,異或

短路邏輯運(yùn)算
與:只要有一個(gè)為假,結(jié)果一定為假
或:只要一個(gè)為真,結(jié)果一定為真

四 變量

本地變量:

VARNAME=VALUE;作用域?yàn)檎麄€(gè)bash進(jìn)程;

局部變量:

local VARNAME=VALUE;作用域?yàn)楫?dāng)前代碼段

環(huán)境變量:

作用域?yàn)楫?dāng)前shell進(jìn)程及其子進(jìn)程
export VARNAME=VALUE
“導(dǎo)出”=定義環(huán)境變量

腳本在執(zhí)行時(shí)會(huì)啟動(dòng)一個(gè)子shell進(jìn)程
(1)命令行中啟動(dòng)的腳本會(huì)繼承當(dāng)前shell環(huán)境變量
(2)系統(tǒng)自動(dòng)執(zhí)行的腳本(非命令行啟動(dòng))就需要自我定義需要各環(huán)境變量

1.可以先定義本地變量再導(dǎo)出

NAME=jerry
export NAME

2.可以一步導(dǎo)出定位

export NAME=jerry

位置變量

1,2,...

特殊變量

$?:上一個(gè)命令的執(zhí)行狀態(tài)返回值

程序執(zhí)行,可能有兩類返回值:
程序狀態(tài)返回代碼(0-255)
echo $?
0:正確執(zhí)行
1-255:錯(cuò)誤執(zhí)行
1,2,127系統(tǒng)預(yù)留

/dev/null:軟件設(shè)備,bit bucket,數(shù)據(jù)黑洞

變量操作

撤銷變量:

unset VARNAME

查看當(dāng)前shell中變量:

set

查看當(dāng)前shell中的環(huán)境變量

printenv
env
export

變量追加:

ANIMALS=pig
ANIMALS=$ANIMALS:goat

腳本:命令的堆砌,按實(shí)際需要,結(jié)合命令流程控制機(jī)制實(shí)現(xiàn)的源程序。

shebang:魔數(shù)

!/bin/bash

注釋行,不執(zhí)行

執(zhí)行腳本
bash first.sh

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容