LINUX.ORG.RU

Подсветка в bash скрипте

 , , ,


0

1

Редактор текста неправильно подсвечивает конструкцию вида:

FILE="$(foo "$(gettext 'Some text')")"

И хотя кавычки все парами, далее код подсвечивается зеленым как будто забыл кавычку закрыть. Может это я перемудрил и gettext нет смысла в кавычки брать?

★★★★★

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

да вроде не замечал что поломано, за исключением вот этого случая и еще

i=$((i + 1))

последнюю закрывающую скобку не подсвечивает

irton ★★★★★ ()
Ответ на: комментарий от irton

Починил.

добавил в sh.syntax строки во все контексты

keyword $((*)) brightgreen 

выше строки для $(*)

В контексты " " и ` ` добавил строку

keyword $(*"*") brightgreen 

Но вопрос насчет кавычек вокруг «$(gettext )» все еще открыт, может и ненадо их там...

irton ★★★★★ ()
Ответ на: комментарий от irton

да вроде не замечал что поломано

Именно вот эти мелкие косяки. Когда-то, кого-то из разрабов спрашивал, так и ответили, что поправить некому.

Но вопрос насчет кавычек вокруг «$(gettext )» все еще открыт, может и ненадо их там..

В общем случае надо.

ashot ★★★★ ()
Ответ на: комментарий от ashot

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

irton ★★★★★ ()
Ответ на: комментарий от d_a

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

irton ★★★★★ ()
Ответ на: комментарий от d_a

да возможно не нужны. вот попроверял

root@pra:bin# file=$(ntf -c)
root@pra:bin# echo $file
/mnt/home/Рабочие документы/Акт отправки 26.11.13.doc
root@pra:bin# file1="wewerwerwef werwerwer"
root@pra:bin# echo $file1
wewerwerwef werwerwer
irton ★★★★★ ()
Ответ на: комментарий от irton

Самые внешние кавычки убери, а потом дальше по коду переменную $FILE вызывай всегда в кавычках и не будет проблем с пробелами.

shell-script ★★★★★ ()
Ответ на: комментарий от SevikL

Кстати да, shellcheck настоятельно рекомендует везде кавычки не забывать ставить.

irton ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.