отрицательные значения внезапно обрабатываются как положительные в RHEL. Почему?

  • Использование очень длинных имен переменных для замены длинных строк является ИМО контрпродуктивно.
  • Для расширения переменных в командах grep/sed используйте двойные кавычки.
  • Использование подстановочных знаков .*в назначениях переменных будет выполнять расширение имени файла(подстановку)
  • Следующий скрипт использует условное выполнение в случае успеха &&или неудачи ||вместо if.

  • REPL='something'
    PATT='my line of text = '
    FILE=conf_file.conf
    
    cat $FILE
    echo '========='
    
    grep -q "^$PATT" $FILE && (sed -i "s/^$PATT.*$/$PATT$REPL/" $FILE) || (echo "$PATT$REPL" >> $FILE)
    
    cat $FILE
    
0
24.06.2016, 14:48
1 ответ

Поскольку «-24» больше «0» на основе сравнения строк - три символа против одного символа. Для сравнения чисел:

$ [[ -24 -gt 0 ]] && echo "Hi"
$ 
3
28.01.2020, 02:27

Теги

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