linux學習day3——shell指令碼

Sunyehh發表於2024-10-27

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

相關文章