4. Bash中的引號(hào)
引號(hào)是在任何編程語言中引用字符串的標(biāo)準(zhǔn)做法。引號(hào)用于處理帶有空格字符的文本、文件名。閱讀本教程以了解單引號(hào)和雙引號(hào)之間的區(qū)別。
4.1 引用字符串
#!/bin/bashecho ‘我是單引號(hào)’echo “我是雙引號(hào)”
上面腳本會(huì)輸出
我是單引號(hào)我是雙引號(hào)
4.2 引用變量
shell 變量擴(kuò)展僅適用于雙引號(hào)。如果您在單引號(hào)中定義任何變量將不起作用。
#!/bin/bashNAME=”Welcome China!”echo “$NAME”echo ‘$NAME’
上面腳本會(huì)輸出
Welcome China!$NAME
5. 調(diào)試 Bash 腳本
Bash 腳本提供了在運(yùn)行時(shí)調(diào)試腳本的選項(xiàng)。您在 shell 腳本中使用“set -xv”命令或在執(zhí)行腳本時(shí)在命令行上使用 -xv。
5.1 語法
$ bash -xv hello_world.sh
5.1.1 示例 – 在腳本中啟用調(diào)試
#!/bin/bashset -xv # 這行代碼將會(huì)觸發(fā)調(diào)試模式cd /var/log/for i in “*.log”; dodu -sh $idone
5.1.2 示例 – 啟用調(diào)試運(yùn)行時(shí)
vim hello_wolrd.sh# 寫入以下內(nèi)容#!/bin/bashset -xv # 這行代碼將會(huì)觸發(fā)調(diào)試模式cd /var/log/for i in “*.log”; dodu -sh $idone
執(zhí)行以下命令
$ bash -xv script.sh
6. Bash 退出代碼
退出代碼是一個(gè)介于 0 和 255 之間的數(shù)字。這是子進(jìn)程完成后返回給父進(jìn)程的值。換句話說,它表示我們函數(shù)的最后一個(gè)命令的退出狀態(tài)。
基于命令或程序返回的退出代碼值將成功執(zhí)行或不執(zhí)行。
- Success – 0 表示成功
- failure – 非0 表示失敗
6.1 示例1
編寫程序在 /tmp/test.txt 文件中寫入一些內(nèi)容并檢查命令執(zhí)行成功與否。
#!/bin/bashecho “hi” > /tmp/test.txtif [ $? -eq 0 ]; then echo “執(zhí)行成功”else echo “執(zhí)行失敗, 不能寫入 /tmp/test.txt”fi
6.2 示例2
編寫一個(gè)程序來搜索文件中的字符串并檢查字符串是否存在。
#!/bin/bashSTRING=”root”if grep ${STRING} /etc/passwdthen echo “恭喜,成功找到字符串”else echo “很遺憾,沒有找到字符串”fi
以上代碼會(huì)輸出
root:x:0:0:root:/root:/bin/bashoperator:x:11:0:operator:/root:/sbin/nologin恭喜,成功找到字符串