[英]Bash script multiple if express groups
我是 bash 腳本的新手,我正在嘗試在 if 語句中對多個表達式進行分組
minuteRun = $1
if
[
[ [ $minuteRun -eq 25 ] && [ $HR != 01] && [ $HR != 13 ] ] ||
[ [ $minuteRun -eq 50 ] && [ $HR -eq 01 || $HR -eq 13 ] ]
]
then
我稱之為./script.sh 45
這是錯誤
有語法錯誤,尤其是。 括號之間的空格,例如[ [
為此,最好在 bash 中使用算術上下文((...))
:
#!/usr/bin/env bash
minuteRun=$1
if
((
( minuteRun == 25 && HR != 1 && HR != 13 )
||
( minuteRun == 50 && ( HR == 1 || HR == 13 ) )
))
then
我個人會為此使用case
minuteRun=50 HR=01
case $minuteRun:$HR in
50:01|50:13) echo ok;;
*:01|*:13 ) echo fail;;
esac
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.