bash指令碼錯誤檢查

2021-07-22 21:31:03 字數 743 閱讀 3144

在bash shell 指令碼中總是需要對已經執行命令作錯誤檢查, 以便進行下一步處理.

#!/bin/bash

error=$'\e'[31\;47m"error: "

eend=$'\e'[0m'\n'

function die() $*$eend

# will uncomment below without test

#exit 1;

}

# like perl: false or die

which ]

[ $? -eq 0 ] ||

# fail then die

which ]

(($?)) &&

which ]

(($?)) && ||

which ]

(($?)) && || # pitfall: go on to the second brace block

ps: ] 不是bash保留字, 更不是metachar元字元, 而[ 作為命令第乙個word時是test的同義詞, 且都是builtin命令:

~/tmp$ type test

test is a shell builtin

~/tmp$ type [

[ is a shell builtin

bash 指令碼筆記

輸入了什麼引數 輸入了多少個引數 1輸入的第乙個引數,依此類推,直到 9 上一次的執行結果 為 1 2 3 一起被引號包住 為 1 2 3 分別被包住 為3 引數數量 d target target 是否是 目錄 f target 是否是檔案 e target 是否存在 目錄和檔案都適用 x tar...

bash指令碼基礎

shell 指令碼 一 如何建立新shell指令碼?1.建立包含bash命令的文字檔案。檔案第一行應為 bin bash 2.使檔案可執行 使用chmod x scripts 3.將檔案放置在使用者的 path的目錄中 bin 用於使用者的私有程式 usr local bin 本地開發 系統上的其他...

Bash 指令碼除錯

大神 bash是unix linux作業系統最常用的shell之一,它非常靈活,和awk c 配合起來異常強大 以下使用乙個測試指令碼來說明使用bash除錯的方法 test.sh bin bash echo begin awk end test.sh max 3 for i 0 i max i do...