Форум программистов, компьютерный форум, киберфорум
Shell, Bash
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.92/13: Рейтинг темы: голосов - 13, средняя оценка - 4.92
 Аватар для garynych
2 / 2 / 0
Регистрация: 02.08.2011
Сообщений: 34

Подскажите, как объединить два скрипта

30.08.2012, 21:54. Показов 2764. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
уважаемые жители топика,подскажите не смышлёнышу... как соеденить во едино два скрипта ? задача избавится от участия perl ...
вот первый
Bash
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#!/bin/sh
 
n=2;    # номер порта для запроса
rm -f /mnt/bal
F="/dev/ttyUSB$n"
echo -e "AT+CUSD=1,AA180C3602,15\r">$F
sleep 2
cat $F > /mnt/bal &
sleep 3; killall cat
cat /mnt/bal | \
grep "+CUSD:" | \
perl -ne '@a = m/([0-9A-F]{4})/g; map { eval "print "\\x{$_}""; } @a;' 2>/dev/null>/mnt/balance
echo ""
 
exit 0
идёт запрос баланса,а ответ приводит в читабельный вид perl

а вот чем я хочу заменить perl
Bash
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
#!/bin/sh
 
decode_ucs2() {
    local text="$1"
 
    while [ -n "$text" ]; do
        local code="$((0x${text:0:4}))"
 
        if [ $code -le 127 ]; then
            echo -en \\x$(printf "%02x" $code)
        elif [ $code -le 2047 ]; then
            echo -en \\x$(printf "%02x" $(((($code >>  6) & 0x1F) | 0xC0)))
            echo -en \\x$(printf "%02x" $(( ($code        & 0x3F) | 0x80)))
        elif [ $code -le 65535 ]; then
            echo -en \\x$(printf "%02x" $(((($code >> 12) & 0x0F) | 0xE0)))
            echo -en \\x$(printf "%02x" $(((($code >>  6) & 0x3F) | 0x80)))
            echo -en \\x$(printf "%02x" $((( $code        & 0x3F) | 0x80)))
        elif [ $code -le 1114111 ]; then
            echo -en \\x$(printf "%02x" $(((($code >> 18) & 0x07) | 0xF0)))
            echo -en \\x$(printf "%02x" $(((($code >> 12) & 0x3F) | 0x80)))
            echo -en \\x$(printf "%02x" $(((($code >>  6) & 0x3F) | 0x80)))
            echo -en \\x$(printf "%02x" $((( $code        & 0x3F) | 0x80)))
        else
            echo -n "?"
        fi
 
        text="${text:4}"
    done
 
    echo ""
}
 
msg="04110430043B0430043D0441003A003600380033002C003100360440002004230441043B04430433043000200022042704350440043D044B043900200441043F04380441043E043A0022002E00200418043D0444043E003A0020002A003100310031002A0034003400320023"
decode_ucs2 "$msg"
как видите это я в ручную перевожу ответ от модема,как мне соединить в один скрипт,что бы не участвовал perl ?

Спасибо !
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
30.08.2012, 21:54
Ответы с готовыми решениями:

Подскажите как объединить два скрипта
Нужно сделать прокрутку фото в галерее, подключил скрипт ( Sky jQuery Touch Carousel v1.0.2 ), но он не увеличивает их при нажатии, нашел...

Как объединить два скрипта в один
Два скрипта: /*первый*/ $(document).ready(function() { url = window.location.href; option = url.match(/ukey(.*)/); ...

Правильно объединить два скрипта
Привет всем. Делаю я поиск пользователей с условием. Сам поиск я написал вот он $query = 'SELECT a.name, a.id, a.location FROM user_cat c...

6
4866 / 3288 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
31.08.2012, 07:56
Bash
1
decode_ucs2 "$(cat /mnt/bal | grep "+CUSD:")" 2>/dev/null 1>/mnt/balance
0
 Аватар для garynych
2 / 2 / 0
Регистрация: 02.08.2011
Сообщений: 34
31.08.2012, 09:02  [ТС]
благодарю за наводку
но я забыл наверно что то уточнить...(а именно что это всё,я мучу на openwrt) вот что теперь выдаёт склеенный скрипт, видать тупрвыводит то что в /mnt/bal и в /mnt/balance пусто
0
4866 / 3288 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
31.08.2012, 09:20
склеенный скрипт скопируй сюда
0
 Аватар для garynych
2 / 2 / 0
Регистрация: 02.08.2011
Сообщений: 34
31.08.2012, 09:36  [ТС]
Bash
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
#!/bin/sh
 
n=5;    # номер порта для запроса
rm -f /mnt/bal
F="/dev/ttyUSB$n"
echo -e "AT+CUSD=1,AA180C3602,15\r">$F
sleep 2
cat $F > /mnt/bal &
sleep 3; killall cat
cat /mnt/bal | \
 
decode_ucs2() {
    local text="$1"
 
    while [ -n "$text" ]; do
        local code="$((0x${text:0:4}))"
 
        if [ $code -le 127 ]; then
            echo -en \\x$(printf "%02x" $code)
        elif [ $code -le 2047 ]; then
            echo -en \\x$(printf "%02x" $(((($code >>  6) & 0x1F) | 0xC0)))
            echo -en \\x$(printf "%02x" $(( ($code        & 0x3F) | 0x80)))
        elif [ $code -le 65535 ]; then
            echo -en \\x$(printf "%02x" $(((($code >> 12) & 0x0F) | 0xE0)))
            echo -en \\x$(printf "%02x" $(((($code >>  6) & 0x3F) | 0x80)))
            echo -en \\x$(printf "%02x" $((( $code        & 0x3F) | 0x80)))
        elif [ $code -le 1114111 ]; then
            echo -en \\x$(printf "%02x" $(((($code >> 18) & 0x07) | 0xF0)))
            echo -en \\x$(printf "%02x" $(((($code >> 12) & 0x3F) | 0x80)))
            echo -en \\x$(printf "%02x" $(((($code >>  6) & 0x3F) | 0x80)))
            echo -en \\x$(printf "%02x" $((( $code        & 0x3F) | 0x80)))
        else
            echo -n "?"
        fi
 
        text="${text:4}"
    done
 
    echo ""
}
sleep 1
decode_ucs2 "$(cat /mnt/bal | grep "+CUSD:")" 2>/dev/null 1>/mnt/balance
exit 0
наверно как то надо не весь вывод обрабатывать,а только выдирать из /mnt/bal то что идтёт после +CUSD: 0, в кавычках...
0
4866 / 3288 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
31.08.2012, 10:36
определение функции вставь перед всеми командами после #!/bin/sh
1
 Аватар для garynych
2 / 2 / 0
Регистрация: 02.08.2011
Сообщений: 34
31.08.2012, 21:36  [ТС]
спасибо ! вот что вышло



и еще вопросик в догонку.. в web админке luCI как видите по русски,а вот в putty кряказябры



можно ли,и там и там что бы в читабельном виде было? если да ,то подскажите как...

Добавлено через 3 часа 24 минуты
про кряказябры вопрос снимаю,сам допетрил ещё раз спасибо за подсказку по скрещиванию ....
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
31.08.2012, 21:36
Помогаю со студенческими работами здесь

Не могу объединить два скрипта
Привет всем, хочу сделать мультиселект у меня есть выпадающие списки вот скрипт <section class="main"> <div...

Delphi 7+ADO+Access подскажите как объединить два запроса Insert into
Есть конструкция на кнопке: ADOQuery1.SQL.Clear; ADOQuery1.SQL.Add('INSERT INTO Студенты(,Fio,)...

Объединить два скрипта и вывести постранично
Файл index.php <?php $fb2_file = '44.fb2'; $html = ''; $skip = 0; $limit = 120000; $handle = fopen($fb2_file,...

Объединить два PHP скрипта из одного Ларавель-проекта, в один работающий скрипт
Задача: Объединить два PHP скрипта из одного Ларавель-проекта, в один работающий скрипт. Ларавель версии-5.5 . Предполагаемая...

Два провайдера, два роутера (с NAT), как объединить всё это?
Есть два роутера, один с вайфаем, получает инет по выделенке (витая пара), другой ADSL. Инет в основном используется тот, что по выделенке,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru