LINUX.ORG.RU

bash - засада, но bash не виноват


0

0

сразу - речь о msys =)

с какого-то бодуна bash (в лице запускаемого makemake) стал ругаться на строчки вида

SAFE_SRCDIR=`echo ${SRCDIR} | sed 's,/,\\\\\\\\,g'`

вот такими словами:

./makemake: line 2866: unexpected EOF while looking for matching ``'

правка строки следующим образом (корректная ли?) избавляет от ругани

SAFE_SRCDIR=$(echo ${SRCDIR} | sed 's,/,\\\\\\\\,g' )

но, б&я, «вчера» ещё всё было в порядке, и баш здесь точно ни при чём.

Пара вопросов:

1. корректна ли замена (на будущее)

2. где собака порылась?!

P.S. Прошу прощения за нубство и ламеризм - гугл мне ничем не помог (разве что подсказал замену)

★★★★★

Quote:

правка строки следующим образом (корректная ли?) избавляет от ругани

Корректная. `command` — стиль bash 2.0, ныне устаревший, но допустимый в целях совместимости.

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

> решено - ошибка в одном «незакрытом» выражении выше

так всегда..

оба стиля `` и $() есть в современном позиксе. $() в целом лучше из-за того, что $() проще вкладывать друг в друга.

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

ну вот, даже в позиксе скобки рулят =))))

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