Сравнивая две строки вместе

Кажется, что LXDE не включает пакет lxsession-logout. Установите пакет, набрав это в терминале:

sudo apt install lxsession-logout

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

1
задан 17 June 2015 в 12:49

2 ответа

Правильный синтаксис:

if [[ "${sev[1]}" == "CRITICAL" ]]; then
   echo "shte"
fi

Взгляните на Advanced Bash-Scripting Guide: Массивы

UPDATE:

Я делаю тест. Я думаю, вы пропустили номера массивов. Sev . Advanced Bash-Scripting Guide: Массивы не критичны, это информационный. sev [0] все еще имеют CRTITICAL, а не empty

Здесь простой тест:

sev=( CRITICAL INFORMATIONAL )

if [[ "${sev[0]}" == "CRITICAL" ]]; then    echo "shte"; fi

вывод:

 shte

Теперь: [!d8 ]

if [[ "${sev[1]}" == "CRITICAL" ]]; then    echo "shte"; fi

вывод Empty

2
ответ дан 23 May 2018 в 19:45

В соответствии с вашим комментарием у вас, вероятно, был какой-то странный символ где-то в вашем скрипте.

Самое простое решение в этом случае, имеющее входной файл и скрипт, было отправлено на paste.ubuntu.com и после того, как они были очищены после загрузки, ваш комментарий , и как вы это сделали, это удалить mibwithtraps и bashscript, воссоздавая их копирование вставки версии на paste.ubuntu.com.

1
ответ дан 23 May 2018 в 19:45
  • 1
    Во всяком случае, я могу найти странный характер? Я как бы разозлен и хочу разобраться в этом. – SamFlynn 17 June 2015 в 10:39
  • 2
    Посмотрите на шестнадцатеричный критический / информационный файл. Вы можете ударить один из c примерно через 10 строк и много минут для файла с такой сложностью. Проверьте свой эхо-сигнал и сравните правильный индекс массива в коде, возможно, ошибка в вашем отладочном коде – rhubarbdog 17 June 2015 в 11:35

Другие вопросы по тегам:

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