The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"Использование shell переменных из AWK"
Вариант для распечатки Архивированная нить - только для чтения! 
Пред. тема | След. тема 
Форумы Программирование под UNIX (Public)
Изначальное сообщение [Проследить за развитием треда]

"Использование shell переменных из AWK"
Сообщение от denof emailИскать по авторуВ закладки on 03-Июн-03, 17:04  (MSK)
DIR=from
NET=192.168.1    
HOST=1    
cat ${DIR}-${NET}.${HOST} | awk '
BEGIN { d=0 }
....
   { system("rm "'${DIR}-{NET}.${HOST}') }
}'
вот такой скриптик, но команда rm не выполняется, потому как...
dir передается как пустой
net - меняется на "192.1680.1"
Почему меняются переменные?
После выхода из awk переменные опять принимают нормальное значение...
ОС FreeBSD4...
Заранее спасибо за ответ!
  Рекомендовать в FAQ | Cообщить модератору | Наверх

 Оглавление

Индекс форумов | Темы | Пред. тема | След. тема
Сообщения по теме

1. "Использование shell переменных из AWK"
Сообщение от sas emailИскать по авторуВ закладки on 04-Июн-03, 02:03  (MSK)
>DIR=from
>NET=192.168.1
>HOST=1
>cat ${DIR}-${NET}.${HOST} | awk '
> BEGIN { d=0 }
>....
>   { system("rm "'${DIR}-{NET}.${HOST}') }
> }'
>вот такой скриптик, но команда rm не выполняется, потому как...
>dir передается как пустой
>net - меняется на "192.1680.1"
>Почему меняются переменные?
>После выхода из awk переменные опять принимают нормальное значение...
>ОС FreeBSD4...
>Заранее спасибо за ответ!


DIR=from
NET=192.168.1    
HOST=1    
cat ${DIR}-${NET}.${HOST} | awk '
BEGIN { d=0 }
....
   { system("rm "'"${DIR}-{NET}.${HOST}"'" ) }
}'

  Рекомендовать в FAQ | Cообщить модератору | Наверх

2. "Использование shell переменных из AWK"
Сообщение от denof emailИскать по авторуВ закладки on 04-Июн-03, 10:11  (MSK)
>   { system("rm "'"${DIR}-{NET}.${HOST}"'" ) }
Спасиб помогло!
Только я не понял почему надо ` в кавычки заключать?
  Рекомендовать в FAQ | Cообщить модератору | Наверх

3. "Использование shell переменных из AWK"
Сообщение от sas emailИскать по авторуВ закладки on 04-Июн-03, 14:46  (MSK)
>>   { system("rm "'"${DIR}-{NET}.${HOST}"'" ) }
>Спасиб помогло!
>Только я не понял почему надо ` в кавычки заключать?
В итоге наиболее безопасно получить е

>>   { system("rm "'"${DIR}-{NET}.${HOST}"'" ) }
>Спасиб помогло!
>Только я не понял почему надо ` в кавычки заключать?

В итоге наиболее безопасно получить получить в shell строку в двойных кавычках, на случай если после подстановки результирующая строка содержит пробелы

system( "rm \"${BLA_BLA_BLA}\"" )

Как мы знаем подстановки не будет внутри одиночных кавычек, значит надо дать шеллу возможность это сделать путем выдирания из под них и склеивания

system( "rm \"'"${BLA_BLA_BLA}"'\"" )

Успехов
--- sas

Кстати я забыл эскейпить внутренние двойные кавычки или это cgi?

:)

  Рекомендовать в FAQ | Cообщить модератору | Наверх


Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Пожалуйста, прежде чем написать сообщение, ознакомьтесь с данными рекомендациями.




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2025 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру