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

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

30.08.2012, 21:54. Показов 2758. Ответов 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
Ответ Создать тему
Новые блоги и статьи
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru