И =
, и ==
являются операторами. В некоторых языках (, таких как C ), один используется для присвоения значения переменной, а другой — для сравнения значений (результата арифметических выражений ). На самом деле оба оператора точно такие же, как и внутри Arithmetic Evaluation. $((a=23))
— это присваивание, $((a==23))
— это арифметическое сравнение.
$ echo "$((a=11)) $((a==23))" "$((a=23))" "$((a==23))"
11 0 23 1
Но внутри тестовых конструкций (все операторы test и […] и [[…]])означают одно и то же. выполнить ту же операцию.
Итак, все эти варианты:
test "$a" = "$b"
[ "$a" = "$b" ]
[[ "$a" = "$b" ]]
test "$a" == "$b"
[ "$a" == "$b" ]
[[ "$a" == "$b" ]]
Являются ли эквивалентными внутри bash для проверки двоичного равенства (переменных, цитируемых ). Если правая переменная не заключена в кавычки, она может быть интерпретирована как шаблон и сопоставлена соответственно :как шаблон, а не как литеральная строка.
Приведенные в кавычках операторы \=
и \==
также эквивалентны при использовании в тесте и […]
. Но цитируемый оператор \==
терпит неудачу внутри [[…]]
.
Для других оболочек результаты различаются (правильный результат должен бытьY -
(true false ), сообщается код выхода, отличный от 0 (true )и 1 (false )как отказ с¤
). Некоторые оболочки завершаются ошибкой с - -
(, код выхода всегда равен 1 ).
| dash ksh bash zsh
test a = "$b" | Y - Y - Y - Y -
[ a = "$b" ] | Y - Y - Y - Y -
[[ a = "$b" ]] | ¤ ¤ Y - Y - Y -
test a == "$b" | ¤ ¤ Y - Y - - -
[ a == "$b" ] | ¤ ¤ Y - Y - - -
[[ a == "$b" ]] | ¤ ¤ Y - Y - Y -
test a \= "$b" | Y - Y - Y - Y -
[ a \= "$b" ] | Y - Y - Y - Y -
[[ a \= "$b" ]] | ¤ ¤ Y - - - - -
test a \== "$b" | ¤ ¤ Y - Y - Y -
[ a \== "$b" ] | ¤ ¤ Y - Y - Y -
[[ a \== "$b" ]] | ¤ ¤ Y - - - - -
Все параметры работают в ksh, операторы в кавычках не работают в bash и zsh (внутри [[…]]
), а \=
и \==
без кавычек также не работают в zsh (вне[[…]]
).
На данный момент я бы предложил просто добавить группу apache (обычно www -data )в качестве вторичной группы для каждого пользователя в группе aalaap (или просто пользователя aalaap )
.См. 3-й раздел :Добавить существующего пользователя в группу данных www -
sudo usermod -a -G www-data aalaap
sudo usermod -a -G www-data aalaap2
Предполагая, что вы сделали apache владельцем www и установили необходимые разрешения для группы apache, мне кажется, что это более безопасно, чем авторизация всех.
>ls -al /var
... www-data www-data 4096 juin 18 22:53 www