Главная страница


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)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 Re: ask yes/no -- ВHИМАHИЕ -- ГРАБЛИ!   Kirill Frolov   20 Dec 2003 01:41:08 
Архивное /ru.linux/3833462d56b6.html, оценка 2 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional