云計算學(xué)習(xí)路線教程大綱課件,Linux新手入門教程講解:
成都創(chuàng)新互聯(lián)公司專業(yè)為企業(yè)提供高郵網(wǎng)站建設(shè)、高郵做網(wǎng)站、高郵網(wǎng)站設(shè)計、高郵網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計與制作、高郵企業(yè)網(wǎng)站模板建站服務(wù),10多年高郵做網(wǎng)站經(jīng)驗,不只是建網(wǎng)站,更提供有價值的思路和整體網(wǎng)絡(luò)服務(wù)。v> Shell編程之基礎(chǔ)知識
No.1 Shell腳本的基本語法結(jié)構(gòu)
第一行: “#!/usr/bin/env bash”叫做shebang, shell語法規(guī)定shell腳本文件第一行為整個文件的解釋器
第二行: 為“#”開頭的行為注釋行默認(rèn)不會被程序所讀取, 用來說明文件及標(biāo)定所屬人員使用, 也可用來解釋程序
第七行: 為格式化打印語句printf, printf可以把后面的“hello world”打印到指定的終端中, \n 為換行符
No.2 局部變量和全局變量及環(huán)境變量
所有的編程語言都利用變量來存放數(shù)據(jù), 以備隨后使用或修改. 和編譯型語言不通的是, 大多數(shù)腳本語言不需要提前
聲明變量的類型, 用到是什么類型就是什么類型, 而當(dāng)我們想引用變量的時候在前面加上一個 $ 符號就可以訪問到
該變量的值了. shell正常所設(shè)置的變量就是全局變量, 即便在函數(shù)體內(nèi)部也是如此.
像其他編程語言一樣變量的復(fù)制形式為 變量名 = 設(shè)置的值
[root@bavdu ~]# vim helloworld.sh
---.sh代表這個文件是個shell腳本,拓展名后綴,如果省略.sh則不易判斷該文
件是否為shell腳本
#!/usr/bin/env bash ---shebang蛇棒, 解釋器, 翻譯
#
[root@bavdu ~]# sh helloworld.sh
hello world
[root@bavdu ~]# ./helloworld.sh
[root@bavdu ~]# vim variable_daemon01.sh
#!/usr/bin/env bash
#
fruit=apple # 將"apple"賦值給變量fruit
count=10
printf "We have $count ${fruit}(s)\n"
count=20相較于全局變量來說, 還有局部變量, 局部變量的定義需要用到local去聲明.
shell也內(nèi)置了一些變量, 用于存儲經(jīng)常用到的配置信息, 比如可用的打印機、搜索路徑等,這些叫做環(huán)境變量, 在終端
中敲 env 命令即可看到系統(tǒng)中內(nèi)置的環(huán)境變量了, 通常設(shè)置環(huán)境變量的地點為/etc/profifile 或 /etc/profifile.d/*.
printf "we have $count apples"
printf "we have $count apples"
printf "we have $count apples"
printf "we have $count apples"
printf "we have $count apples"
printf "we have $count apples"
printf "we have $count apples"
[root@bavdu ~]# sh variable_daemon01.sh
[root@bavdu ~]# vim variable_daemon02.sh
#!/usr/bin/env bash
#
hello() {
local VARIABLE="hello world"
printf "$VARIABLE\n"
}
hello
printf "$VARIABLE\n"
[root@bavdu shell_s]# vim /etc/profile
export BAVDU="Hello Bavdu."
[root@bavdu shell_s]# source /etc/profile
[root@bavdu shell_s]# vim variable_daemon03.sh
#!/usr/bin/env bash
#
printf "$BAVDU\n"
[root@bavdu shell_s]# sh variable_daemon03.sh
Hello Bavdu.
[root@bavdu shell_s]#
【Example】
[root@shell Downloads]# wget https://download.oracle.com/otn-shell中還有一些特殊的變量叫做位置變量, 位置變量可以讓我們執(zhí)行時增加相應(yīng)的參數(shù), 我們來看下:
在腳本中我們還會經(jīng)常讀取用戶輸入的變量所以還有個read關(guān)鍵字, 專門用來讀取用戶輸入的數(shù)值或字符串, 從而賦
值給一個變量.
pub/java/jdk/12+33/312335d836a34c7c8bba9d963e26dc23/jdk-12_linux-x64_bin.tar.gz^C
[root@shell Downloads]# ls
jdk-12_linux-x64_bin.tar.gz program
[root@shell Downloads]# tar xf jdk-12_linux-x64_bin.tar.gz -C /usr/local/
[root@shell Downloads]# cd /usr/local/
[root@shell local]# ls
bin etc games include jdk-12 lib lib64 libexec sbin share src
[root@shell local]# mv jdk-12 java-12
[root@shell local]#
[root@shell local]# java -version
openjdk version "1.8.0_181"
OpenJDK Runtime Environment (build 1.8.0_181-b13)
OpenJDK 64-Bit Server VM (build 25.181-b13, mixed mode)
[root@shell local]#
[root@shell local]# vim /etc/profile
#------java env------#
export JAVA_HOME=/usr/local/java-12
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
#------java env------#
[root@shell local]# source /etc/profile
[root@shell local]#
[root@shell local]# java -version
java version "12" 2019-03-19
Java(TM) SE Runtime Environment (build 12+33)
Java HotSpot(TM) 64-Bit Server VM (build 12+33, mixed mode, sharing)
[root@bavdu shell_s]# vim variable_daemon04.sh
#!/usr/bin/env bash
#
printf "$1 $2 $3\n"
[root@bavdu shell_s]# sh variable_daemon04.sh bavdu is goodboy
bavdu is goodboy[root@bavdu shell_s]# vim variable_daemon05.sh
#!/usr/bin/env bash
#
read -p "Please input your variable: " varName
printf "$varName\n"
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機、免備案服務(wù)器”等云主機租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。