Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 2008.01.06;
Скачать: [xml.tar.bz2];

Вниз

bash   Найти похожие ветки 

 
Сергей М. ©   (2007-12-03 16:42) [0]

Подскажите эффективный скрипт для поиска номера порта по имени сервиса и (опционально) названию протокола ?


 
tesseract ©   (2007-12-03 17:11) [1]

man grep. man netstat


 
umbra ©   (2007-12-03 18:19) [2]

#!/bin/bash                      
#test.sh - ищем порт по имени службы                                
echo                            
grep "\<$1\>" /etc/services      


вызов - sh test.sh pop3


 
Сергей М. ©   (2007-12-04 17:16) [3]


> umbra ©   (03.12.07 18:19) [2]


К сож., не подойдет.

Скрипт возвращает целиком строки, мне же нужен возврат найденного номера порта.

Пока выкрутился так:


# /opt/svcport.sh
#!/bin/sh

if [ -n "$1" ]
then
 found=`expr "$1" : "\s*\([0-9]\+\)\s*"`
 if [ -z "$found" ]
 then
   name=$(echo $1 | tr A-Z a-z)
   proto=$(echo $2 | tr A-Z a-z)
   templ=".*\$[^#]\s*$name\s*\([0-9]\+\)\s*\/\s*$proto[\s*#]*"
   found=`expr "$(cat -e /etc/services)" : "$templ"`
 fi
 echo $found
fi


Пример вызова:

/opt/svcport.sh http tcp

Все чудесно за искл. одной беды - expr регисстрочувствителен при поиске.



Страницы: 1 вся ветка

Форум: "Прочее";
Текущий архив: 2008.01.06;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.44 MB
Время: 0.004 c
15-1196622484
shlst
2007-12-02 22:08
2008.01.06
Ваши состояния :)


15-1196685094
ArtemESC
2007-12-03 15:31
2008.01.06
Новая больная идея!!!


2-1197037104
Nikfel
2007-12-07 17:18
2008.01.06
Получение времени работы компьютера.


15-1196738725
Slider007
2007-12-04 06:25
2008.01.06
С днем рождения ! 4 декабря 2007 вторник


15-1196611902
Kostafey
2007-12-02 19:11
2008.01.06
С днем рождения ! 2 декабря





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский