LINUX.ORG.RU

Bash и команды

 


0

1

Всем привет. Мастера и гуру Bash подскажите как решить проблему. Я сравниваю два файла в diff, а результат записываю в файл. Далее начинается самое интересное, когда скриптом файл передаётся на построчное чтение и сравнение результата

 if [[ -n "$line" && "$line " -eq \>* ]] 
то появляется ошибка
 [[:  > red_2 dir_1 : syntax error: operand expected (error token is " > red_2 dir_1 ") 
так как я знаками «< >» регулирую что сделать с записью из строки. Как я понял именно эти знаки и мешают процессу, экранировать их на выходе из переменной не получается, может и есть способ, но я его не нашёл. Можно конечно при записи результатов в файл попробовать поменять знаки «< >» на другие. Но хочется узнать есть ли способ экранировать это значение на выходе из переменной, без дополнительного действия.

Ответ на: комментарий от anonymous

Спасибо, а то уже начал путаться, вот так сработало

 if [[ -n "$line" && "$line" = \<* ]] 
, я уже через sed начал пробовать менять знаки и понял что дело не в том на что я думал изначально, а вы прямо явно указали на ошибку;)

supp0rtmail2019 ()
Последнее исправление: supp0rtmail2019 (всего исправлений: 1)
Для того чтобы оставить комментарий войдите или зарегистрируйтесь.