雲端計算學習路線教程大綱課件:Linux新手入門教程

千鋒雲端計算發表於2019-11-07

雲端計算學習路線教程大綱課件,Linux新手入門教程講解:

雲端計算學習路線教程大綱課件:Linux新手入門教程

v> Shell程式設計之基礎知識

No.1 Shell指令碼的基本語法結構

第一行: “#!/usr/bin/env bash”叫做shebang, shell語法規定shell指令碼檔案第一行為整個檔案的直譯器

第二行: 為“#”開頭的行為註釋行預設不會被程式所讀取, 用來說明檔案及標定所屬人員使用, 也可用來解釋程式

第七行: 為格式化列印語句printf, printf可以把後面的“hello world”列印到指定的終端中, \n 為換行符

No.2 區域性變數和全域性變數及環境變數

所有的程式語言都利用變數來存放資料, 以備隨後使用或修改. 和編譯型語言不通的是, 大多數指令碼語言不需要提前

宣告變數的型別, 用到是什麼型別就是什麼型別, 而當我們想引用變數的時候在前面加上一個 $ 符號就可以訪問到

該變數的值了. shell正常所設定的變數就是全域性變數, 即便在函式體內部也是如此.

像其他程式語言一樣變數的複製形式為 變數名 = 設定的值

[root@bavdu ~]# vim helloworld.sh

---.sh代表這個檔案是個shell指令碼,擴充名字尾,如果省略.sh則不易判斷該文

件是否為shell指令碼

1. #!/usr/bin/env bash ---shebang蛇棒, 直譯器, 翻譯

2. #

3. # Author: bavdu

3. # Email: bavduer@163.com

4. # Github: ---這就是註釋, 你沒看錯

5. # Date: 2019/**/**

6.

7. printf "hello world\n"

[root@bavdu ~]# sh helloworld.sh

hello world

[root@bavdu ~]# ./helloworld.sh

[root@bavdu ~]# vim variable_daemon01.sh

#!/usr/bin/env bash

#

# Author: bavdu

# Email: bavduer@163.com

# Github:

# Date: 2019/**/**

fruit=apple # 將"apple"賦值給變數fruit

count=10

printf "We have $count ${fruit}(s)\n"

count=20相較於全域性變數來說, 還有區域性變數, 區域性變數的定義需要用到local去宣告.

shell也內建了一些變數, 用於儲存經常用到的配置資訊, 比如可用的印表機、搜尋路徑等,這些叫做環境變數, 在終端

中敲 env 命令即可看到系統中內建的環境變數了, 通常設定環境變數的地點為/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

#

# Author: bavdu

# Email: bavduer@163.com

# Github:

# Date: 2019/**/**

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

#

# Author: bavdu

# Email: bavduer@163.com

# Github:

# Date: 2019/**/**

printf "$BAVDU\n"

[root@bavdu shell_s]# sh variable_daemon03.sh

Hello Bavdu.

[root@bavdu shell_s]#

【Example】

[root@shell Downloads]# wget 中還有一些特殊的變數叫做位置變數, 位置變數可以讓我們執行時增加相應的引數, 我們來看下:

在指令碼中我們還會經常讀取使用者輸入的變數所以還有個read關鍵字, 專門用來讀取使用者輸入的數值或字串, 從而賦

值給一個變數.

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

#

# Author: bavdu

# Email: bavduer@163.com

# Github:

# Date: 2019/**/**

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

#

# Author: bavdu

# Email: bavduer@163.com

# Github:

# Date: 2019/**/**

read -p "Please input your variable: " varName

printf "$varName\n"


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69916964/viewspace-2663140/,如需轉載,請註明出處,否則將追究法律責任。

相關文章