Почему hostname -i дает разные результаты на разных машинах? [закрыто]

La razón por la que siempre va a la rama BADde la declaración ifes que la prueba

[[ "$1" != '1' || '2' ]]

primero prueba si $1no es 1, y si no lo es, se imprime BAD. Si es así, 2se evalúa como una prueba. Una cadena como 2siempre es verdadera y se imprime BAD.

En cambio:

if [ "$1" != '1' ] && [ "$1" != '2' ]; then

o, con pruebas aritméticas,

if [ "$1" -ne 1 ] && [ "$1" -ne 2 ]; then

o, usando evaluación aritmética,

if (( $1 != 1 )) && (( $1 != 2 )); then
-3
26.10.2016, 08:15
0 ответов

Теги

Похожие вопросы