Como você pode ver em a página do Projeto de Documentação do Linux sobre se , -o representa o operador lógico OR . No seu caso, a variável sorszam
é verificada se é igual a 1, 2 ou 3.
Sou um iniciante em script de shell e há algo que me parece importante, mas não consigo entender. O que é -o after-eq no código mencionado:
... [ $sorszam -eq 0 ] && min1=$ertek; [ $sorszam -eq 1 -o $sorszam -eq 2 -o $sorszam -eq 3 ] && [ $ertek -lt $min1 ] && min1=$ertek
...
Como você pode ver em a página do Projeto de Documentação do Linux sobre se , -o representa o operador lógico OR . No seu caso, a variável sorszam
é verificada se é igual a 1, 2 ou 3.
Como você deve saber, [
é equivalente ao comando interno test
.
$ help [
[: [ arg... ]
This is a synonym for the "test" builtin...
então você deve dar uma olhada em help test | grep -- "-o "
:
EXPR1 -o EXPR2 True if either expr1 OR expr2 is true.
-eq
é um operador binário aritmético que retorna verdadeiro se ambos os números forem iguais.
-o
é um ou, você pode agrupá-lo com -eq
para fazer várias comparações em uma linha.