|
|
ru.linux- RU.LINUX --------------------------------------------------------------------- From : Kirill Frolov 2:5030/827.2 20 Dec 2003 01:41:08 To : Serge Subject : Re: ask yes/no -- ВHИМАHИЕ -- ГРАБЛИ! -------------------------------------------------------------------------------- On Fri, 19 Dec 03 15:04:51 +0300, Serge wrote: AC>> Ты бы читал, на что отвечаешь, что ли... В данном случае кавычки AC>> страхуют от пробелов, если ты ухитришься их туда засунуть. А от пустоты AC>> традиционно страхует тот самый x, и он употреблялся без кавычке. Чушь, всё чушь. Тут кто-то уже напомнил, но я повторю: в выражении <<test "x$a" = "xyes">> буква 'x' в кавычках нужна для того случая, когда строка в переменной $a начинается с символа минуса ('-'), что может восприниматься как опция для функции/команды 'test'. А вот кавычки нужны для защиты от пробелов и пустой строки -- всё что заключено в кавычки, будет передано команде 'test' ОДHИМ АРГУМЕHТОМ, а иначе может быть РАЗБИТО HА СЛОВА (подробности в man $SHELL). В этом, кстати, поведение bash, imho, отличается от tclsh в худшую сторону: там переменная раскрывается как один аргумент... S> А чем спасаться от введённой в строку двойной кавычки? Hикак. В смысле, от неё спасаться незачем. Она передаётся как строка аргумента, и на разбор введённого выражения влияния не оказывает. Если нужно, чтобы оказывала -- используй eval. --- [ZX] * Origin: Registered Linux User #204355 (2:5030/827.2) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.linux/3833462d56b6.html, оценка из 5, голосов 10
|