Làm cách nào để thực hiện điều gì đó như sau trong bash?Làm thế nào để làm điều kiện phức tạp trong bash? (kết hợp của 'và' &&, 'hoặc' || ...)
if ("$a" == "something" || ($n == 2 && "$b" == "something_else")); then
...
fi
Làm cách nào để thực hiện điều gì đó như sau trong bash?Làm thế nào để làm điều kiện phức tạp trong bash? (kết hợp của 'và' &&, 'hoặc' || ...)
if ("$a" == "something" || ($n == 2 && "$b" == "something_else")); then
...
fi
Bạn hầu như đã nhận nó:
if [[ "$a" == "something" || ($n == 2 && "$b" == "something_else") ]]; then
Trong thực tế, các dấu ngoặc đơn có thể được bỏ qua vì ưu tiên khai thác, vì vậy nó cũng có thể được viết như
if [[ "$a" == "something" || $n == 2 && "$b" == "something_else" ]]; then
if [[ "$a" == "something" ]] || [[ $n == 2 && "$b" == "something_else" ]]; then
...
fi
POSIX shell conforming: 'if [" $ a "=" cái gì đó "-o \ ($ n -eq 2 -a" $ b "=" something_else "\)]; sau đó echo yes; fi' – Kaz
Khá ngu ngốc như thế nào '[' không sử dụng '[' như là một dấu ngoặc đơn cho nhóm subexpressions, phải không. – Kaz