История изменений
Исправление Pinkbyte, (текущая версия) :
А ты не через test проверяй, а через '['
(здесь предполагается что $A и $B не заданы)
pinkbyte@mini-router ~ $ [ $A = $B ] && echo yes || echo no
yes
pinkbyte@mini-router ~ $ [ x$A = x$B ] && echo yes || echo no
yes
pinkbyte@mini-router ~ $ [ $A = x$B ] && echo yes || echo no
bash: [: =: unary operator expected
no
pinkbyte@mini-router ~ $ [ x$A = $B ] && echo yes || echo no
bash: [: x: unary operator expected
no
То есть когда оба аргумента пустые - это окей. Когда один - выдается ошибка.
В баше для этого есть свой оператор(но тогда с совместимостью с другими шеллами придется попрощаться):
[[ $A = x$B ]] && echo yes || echo no
no
Исправление Pinkbyte, :
А ты не через test проверяй, а через '['
(здесь предполагается что $A и $B не заданы)
pinkbyte@mini-router ~ $ [ $A = $B ] && echo yes || echo no
yes
pinkbyte@mini-router ~ $ [ x$A = x$B ] && echo yes || echo no
yes
pinkbyte@mini-router ~ $ [ $A = x$B ] && echo yes || echo no
bash: [: =: unary operator expected
no
pinkbyte@mini-router ~ $ [ x$A = $B ] && echo yes || echo no
bash: [: x: unary operator expected
no
То есть когда оба аргумента пустые - это окей. Когда один - выдается ошибка.
В баше для этого есть свой оператор(но тогда с совместимостью придется попрощаться):
[[ $A = x$B ]] && echo yes || echo no
no
Исходная версия Pinkbyte, :
А ты не через test проверяй, а через '['
(здесь предполагается что $A и $B не заданы)
pinkbyte@mini-router ~ $ [ $A = $B ] && echo yes || echo no
yes
pinkbyte@mini-router ~ $ [ x$A = x$B ] && echo yes || echo no
yes
pinkbyte@mini-router ~ $ [ $A = x$B ] && echo yes || echo no
bash: [: =: unary operator expected
no
То есть когда оба аргумента пустые - это окей. Когда один - выдается ошибка.
В баше для этого есть свой оператор(но тогда с совместимостью придется попрощаться):
[[ $A = x$B ]] && echo yes || echo no
no