91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Bash腳本中處理錯誤的常用方法有哪些

發布時間:2022-01-20 17:51:45 來源:億速云 閱讀:173 作者:柒染 欄目:開發技術

這篇文章主要為大家分析了Bash腳本中處理錯誤的常用方法有哪些的相關知識點,內容詳細易懂,操作細節合理,具有一定參考價值。如果感興趣的話,不妨跟著跟隨小編一起來看看,下面跟著小編一起深入學習“Bash腳本中處理錯誤的常用方法有哪些”的知識吧。

下面小編將為大家分享一下在 Bash 腳本中處理錯誤的一些常用的方法,如何獲取錯誤代碼、在執行腳本時獲得詳細輸出、處理調試功能和錯誤重定向等,有需要的小伙伴可以參考一下。

退出狀態

在 Bash 腳本中,$?將打印退出狀態。如果返回零,則表示沒有錯誤。如果不為零,結論就是任務可能存在一些問題。

如下是一個簡單例子:

[root@localhost ~]# cat myscript.sh#!/bin/bashmkdir learningecho $?

如果運行上述腳本一次,它將打印 0,因為該目錄不存在,因此腳本將創建它。如果第二次運行該腳本,將獲得一個非零值,如下所示:

[root@localhost ~]# sh myscript.sh0
[root@localhost ~]# sh myscript.shmkdir: cannot create directory ‘learning’: File exists
1
Bash腳本中處理錯誤的常用方法有哪些
Bash 腳本中的錯誤處理Bash 腳本中的錯誤處理

最佳實踐

建議通過將 set -x 命令添加到 shell 腳本來啟用調試模式,如下所示:

[root@localhost ~]# cat test3.sh#!/bin/bashset -xecho "Hello World!"mkdiir testing

然后運行腳本查看:

[root@localhost ~]# sh test3.sh+ echo 'Hello World!'Hello World!
+ mkdiir testing
test3.sh: line 4: mkdiir: command not found

Bash腳本中處理錯誤的常用方法有哪些 可以編寫如下調試函數,這有助于隨時調用它,使用以下示例:

[root@localhost ~]# cat debug.sh#!/bin/bash_DEBUG="on"function DEBUG()
{
[ "$_DEBUG" == "on" ] && $@}
DEBUG echo 'Testing Debugging'DEBUG set -x
a=2
b=3
c=$(( $a + $b ))
DEBUG set +x

輸出內容如下:

[root@localhost ~]# sh debug.shTesting Debugging
+ a=2
+ b=3
+ c=5
+ DEBUG set +x
+ '[' on == on ']'+ set +x
2 + 3 = 5
Bash腳本中處理錯誤的常用方法有哪些
Bash 腳本中的錯誤處理Bash 腳本中的錯誤處理

錯誤重定向

可以使用標準錯誤輸出將所有系統錯誤重定向到自定義文件,標準錯誤可以用數字 2 表示。在 Bash shell 執行它,如下所示:

[root@localhost ~]# mkdir users 2> errors.txt[root@localhost ~]# cat errors.txtmkdir: cannot create directory ‘users’: File exists

Bash腳本中處理錯誤的常用方法有哪些 大多數時候,很難在腳本中找到確切的行號。要打印帶有錯誤的行號,請使用PS4選項,其中的$LINENO是預定義好的變量。

[root@localhost ~]# cat test3.sh#!/bin/bashPS4='$LINENO: 'set -xecho "Hello World!"mkdiir testing

可以在閱讀錯誤時輕松查看行號:

[root@localhost ~]# sh test3.sh5: echo 'Hello World!'Hello World!
6: mkdiir testing
test3.sh: line 6: mkdiir: command not found
Bash腳本中處理錯誤的常用方法有哪些
Bash 腳本中的錯誤處理Bash 腳本中的錯誤處理

關于“Bash腳本中處理錯誤的常用方法有哪些”就介紹到這了,更多相關內容可以搜索億速云以前的文章,希望能夠幫助大家答疑解惑,請多多支持億速云網站!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

理塘县| 普格县| 阿尔山市| 洛隆县| 贵定县| 岳阳县| 望奎县| 固安县| 新田县| 长治市| 封丘县| 拜城县| 西峡县| 堆龙德庆县| 新干县| 连平县| 吐鲁番市| 伊金霍洛旗| 湘潭县| 革吉县| 柏乡县| 庆元县| 铁力市| 嘉鱼县| 肥城市| 大冶市| 友谊县| 彩票| 鄯善县| 江达县| 咸宁市| 板桥市| 龙州县| 铜山县| 丽江市| 金门县| 开远市| 东辽县| 灵山县| 时尚| 灌南县|