удар, тире и сравнение строк

В Bootstrap 4 вы должны использовать класс text-center для выравнивания встроенных блоков.

ПРИМЕЧАНИЕ: выравнивание текста: по центру; определенный в пользовательском классе, который вы применяете к родительскому элементу, будет работать независимо от используемой вами версии Bootstrap. И это именно то, к чему применяется .text-center.

<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css">    
<div class="container">
  <div class="row">
    <div class="col text-center">
      <button class="btn btn-default">Centered button</button>
    </div>
  </div>
</div>
30
задан Justin M. Keyes 12 July 2012 в 10:17
поделиться

4 ответа

dash очень строгая оболочка POSIX, если она работает в dash, почти наверняка она будет работать в другой оболочке POSIX.

Попробуйте:

if [ "$var" = "string" ]
then
    some_command
fi
46
ответ дан cwd 27 November 2019 в 23:50
поделиться

Используйте = вместо ==. Сравнения обрабатываются тестом (1). /usr/bin/[ обычно является ссылкой на /usr/bin/test. Единственное отличие состоит в том, что если вы используете [ в сценарии оболочки, также требуется ].

Обратите внимание, что в bash есть встроенные test / [, поэтому он фактически не использует /usr/bin/test.

3
ответ дан swdev 27 November 2019 в 23:50
поделиться

вы можете использовать awk

awk 'BEGIN{
 string1="test"
 string2="tes1t"
 if(s1==s2){
    print "same string"
 }else{
    print "not same"
 }
}'
-3
ответ дан ghostdog74 27 November 2019 в 23:50
поделиться

Почему существует вероятность того, что ваш сценарий будет запущен "неправильной" оболочкой? Я думаю, вы могли бы сделать это предварительным условием вашего продукта, используя стандартную строку sh-bang в верхней части вашего скрипта:

#!/bin/bash

Даже если пользователь использует другую оболочку, другие оболочки обычно все еще существуют, а если нет, просто жалуйтесь и заявляйте, что они являются предварительным требованием.

Точно так же, как конкретный уровень ядра или существование awk может быть предварительным требованием.

Что касается вашего конкретного вопроса, я считаю, что и sh , и bash позволяют использовать одиночный знак '=' для сравнения строк - это поведение POSIX:

if [ "a" = "a" ] ; then
    echo yes
fi

yes
9
ответ дан 27 November 2019 в 23:50
поделиться
Другие вопросы по тегам:

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