shell命令返回值判斷的方法有哪些

蝸牛 互聯網技術資訊 2022-02-27 11 0

這篇文章主要介紹了shell命令返回值判斷的方法有哪些的相關知識,內容詳細易懂,操作簡單快捷,具有一定借鑒價值,相信大家閱讀完這篇shell命令返回值判斷的方法有哪些文章都會有所收獲,下面我們一起來看看吧。

1.判斷命令是否存在

優雅方法1

首先,檢查命令是否有效的慣用方法直接在if語句中。

if?command;?then
????echo?notify?user?OK?>&2
else
????echo?notify?user?FAIL?>&2
????return?-1
fi

(良好做法:使用>&2將消息發送給stderr。)

優雅方法2

將通用邏輯轉移到共享函數中。

check()?{
????local?command=("$@")

????if?"${command[@]}";?then
????????echo?notify?user?OK?>&2
????else
????????echo?notify?user?FAIL?>&2
????????exit?1
????fi
}

check?command1
check?command2
check?command3

優雅方法3

installed?()?{
????????command?-v?"$1"?>/dev/null?2>&1
}
if?installed?<command1>
then
???????<command1>??xx
else
????????<command1>??xxx
?fi

2.返回錯誤退出

1.|| exit退出

command1?||?exit
command2?||?exit
command3?||?exit

2.使用-e

$??bash?-e?xx.sh
#!/bin/bash?-e?xx.sh
command1
command2
command3

3.set -e

$?bash?xx.sh?
#!/bin/bash
set?-e?
command1
command2
command3

3.返回錯誤提示

一般方法:

方法1

if?do?some?command;?then
????echo?notify?user?OK
else
????echo?notify?user?fail
????exit?255??#?exit?code?must?be?unsigned?short
fi

方法2

do?some?command
if?[?$??-eq?0?];?then
????echo?notify?user?OK
else
????echo?notify?user?FAIL
????return?-1
fi

優雅方法

方法1

die()?{
????local?message=$1

????echo?"$message"?>&2
????exit?1
}

command1?||?die?'command1?failed'
command2?||?die?'command2?failed'
command3?||?die?'command3?failed'

方法2(推薦)

warn?()?{
??echo?"$@"?>&2
}

die?()?{
??status="$1"
??shift
??warn?"$@"
??exit?"$status"
}

do?some?command?&&?echo?notify?user?OK?||?die?255?Notify?user?fail

關于“shell命令返回值判斷的方法有哪些”這篇文章的內容就介紹到這里,感謝各位的閱讀!相信大家對“shell命令返回值判斷的方法有哪些”知識都有一定的了解,大家如果還想學習更多知識,歡迎關注蝸牛博客行業資訊頻道。

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

評論

日本韩欧美一级A片在线观看