shell語法
- 概論
- 註釋
- 變數
- 預設變數
- 陣列
- expr命令
- read命令
- echo命令
- printf命令
- test命令與判斷符號[]
- 判斷語句
- 迴圈語句
- 函式
- exit命令
- 檔案重定向
- 引入外部指令碼
1.shell語法——概論
概論
shell是我們透過命令列與作業系統溝通的語言。
shell指令碼可以直接在命令列中執行,也可以將一套邏輯組織成一個檔案,方便複用。
AC Terminal中的命令列可以看成是一個“shell指令碼在逐行執行”。
注:AC Terminal相當於linux,命令列終端。
Linux中常見的shell指令碼有很多種,常見的有:
Bourne Shell(/usr/bin/sh或/bin/sh)
Bourne Again Shell(/bin/bash)
C Shell(/usr/bin/csh)
K Shell(/usr/bin/ksh)
zsh
…
Linux系統中一般預設使用bash,所以接下來講解bash中的語法。
檔案開頭需要寫#! /bin/bash
,指明bash為指令碼直譯器。
學習技巧
不要死記硬背,遇到含糊不清的地方,可以在AC Terminal裡實際執行一遍。
指令碼示例
新建一個test.sh
檔案,內容如下:
#! /bin/bash
echo "Hello World!"
###執行方式 作為可執行檔案
acs@9e0ebfcd82d7:~$ chmod +x test.sh # 使指令碼具有可執行許可權
acs@9e0ebfcd82d7:~$ ./test.sh # 當前路徑下執行
Hello World! # 指令碼輸出
acs@9e0ebfcd82d7:~$ /home/acs/test.sh # 絕對路徑下執行
Hello World! # 指令碼輸出
acs@9e0ebfcd82d7:~$ ~/test.sh # 家目錄路徑下執行
Hello World! # 指令碼輸出
用直譯器執行
acs@9e0ebfcd82d7:~$ bash test.sh
Hello World! # 指令碼輸出
2.shell語法——註釋
單行註釋
每行中#
之後的內容均是註釋。
# 這是一行註釋
echo 'Hello World' # 這也是註釋
多行註釋
格式:
:<<EOF
第一行註釋
第二行註釋
第三行註釋
EOF
其中EOF
可以換成其它任意字串。例如:
:<<abc
第一行註釋
第二行註釋
第三行註釋
abc
:<<!
第一行註釋
第二行註釋
第三行註釋
!
作者:yxc
連結:https://www.acwing.com/blog/content/9688/
來源:AcWing