отсутствует ошибка `] 'при группировке условий в сценарии оболочки [duplicate]

Для тех, у кого есть проблемы с использованием кода ниже, и он продолжает показывать <?php echo $username?> или что-то вроде этого. Редактируйте httpd.conf в разделе mime_module, добавив это приложение AddType / x-httpd-php .html .htm. потому что он может отключиться по умолчанию.

   <?php
        $username = 1;
    ?>

    <script type="text/javascript">
        var myData = <?php echo $username ?>;
        console.log(myData);
        alert(myData);
    </script>
50
задан perror 6 May 2013 в 10:57
поделиться

1 ответ

Чтобы заставить ваше выражение работать, изменение && для -a выполнит трюк.

Правильно выглядит так:

 if [ -f $VAR1 ] && [ -f $VAR2 ] && [ -f $VAR3 ]
 then  ....

или как

 if [[ -f $VAR1 && -f $VAR2 && -f $VAR3 ]]
 then  ....

или даже

 if [ -f $VAR1 -a -f $VAR2 -a -f $VAR3 ]
 then  ....

Вы можете найти более подробную информацию в этом вопросе bash: Несколько унарных операторов в выражении if и некоторые ссылки, приведенные там как В чем разница между тестом, [и [[? .

113
ответ дан Community 20 August 2018 в 15:09
поделиться
  • 1
    Огромное спасибо! Я отвечу на это очень скоро! ;) – Ziyaddin Sadigov 6 May 2013 в 10:57
  • 2
    Обратите внимание, что POSIX рекомендует использовать && и || с записью с одним скобком над -a и -o, поэтому, если вы пишете переносной код, переходите к первым нотациям, иначе второй и пропустить третий, тем более, что он может стать неудобным и трудночитаемым, если вам нужно группировать выражения. – Adrian Frühwirth 6 May 2013 в 13:22
Другие вопросы по тегам:

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