motofan logo
26 страниц V < 1 2 3 4 5 > »         
> 

Написание скриптов #!/bin/sh for UNIX, Кто поможет?

VINRARUS
сообщение 17.6.2011, 17:56 Закрепленное сообщение!


Куратор темы

Термоядерный
********

Группа: Пользователи
Сообщений: 3 496
Регистрация: 12.12.2009
Из: Чорнобиль
Пользователь №: 211 044

Рейтинг: 1211



Ура! В теме появилася шапочка. watsup.gif
В даной теме помогаем друг другу в написании шелл скриптов, и дружно решаем проблемы связанные с ними smile.gif

Вот мои рукописные мануалы для совсем новичков:
Основы. Синтаксис, кавычки, переменные, условные операторы
Розширенная инфа о if

Подробный мануал с примерами по ВСЕМ функциям SH
Портативная версия еще одного мануала
Книги в формате Djvu

Примеры работы с текстом через sed и мануал PRO и мануал NUB
Примеры работы с текстом через awk и мануал
Обрезка текста внутри переменных - чорт ногу сломит =] О логике шаблонов.

Где быстро найти инфу?
Тут вводите в строчку поиска манов любую утилиту, например echo, и 95% вероятности что получите инфу по всем функциям и ключам
Вот инфа по НЕКОТОРЫМ утилитам, также можна пользоваться поиском

ПС

1. Не во всех UNIX\LINUX системах можно сразу в терминале вводить команды утилит.
Например в MOTOMAGX часто перед командой утилиты нужно вводить "busybox" (например busybox free) хотя это и решено на некоторых модах.
А в некоторых выкидышах типа Android они и вовсе отсутствуют как и сам busybox, но есть возможность добавить его самому.

2. Не всегда утилиты поддерживают то что написано в манах к ним, иногда функционал меняется от версии к версии.

3. Также нужно знать что код от bash иногда может не работать корректно на shell (sh), хотя и очень редко.
Это из за того что древним программистам делать было нечего, когда не было еще интернета, и они понапридумывали кучу модификаций.
Хорошо хоть код под чистый shell подойдет ко всем им, из за чего он считается эталоном. smile.gif
А не bash как считают юные линуксойды.
[close]


Сообщение отредактировал VINRARUS - 12.12.2020, 21:32
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
VINRARUS
сообщение 27.6.2011, 22:19


Куратор темы

Термоядерный
********

Группа: Пользователи
Сообщений: 3 496
Регистрация: 12.12.2009
Из: Чорнобиль
Пользователь №: 211 044

Рейтинг: 1211



Цитата(Osta @ 19.6.2011, 20:08)
* интересуют ещё такие строки что в них описывается
until [ `cat /tmp/resolv.conf | grep -c nameserver` -gt 0 ]


В начале выполняется команда "cat /tmp/resolv.conf | grep -c nameserver" - читается файл /tmp/resolv.conf и потом этот текст обрабатывается через grep, который в даном примере выдает число строк в которых есть слово "nameserver".
Потом проверяется больше ли полученное число за 0, то есть есть ли ли хоть одно слово "nameserver" в файле /tmp/resolv.conf.

Ну и для команды "until" выводится результат условия (0 или 1)
Ну нашол что "until" это из цыкла, который выполняется если условие ложно, в данном примере цыкл повторяется пока слово "nameserver" в файле /tmp/resolv.conf будет отсутствовать.


Сообщение отредактировал VINRARUS - 27.6.2011, 22:49
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
igoripp
сообщение 4.7.2011, 10:25


Самый дерзкий
******

Группа: Пользователи
Сообщений: 1 412
Регистрация: 27.3.2010
Из: Касимов, Муром
Пользователь №: 215 540
Модель телефона: sony ion
Прошивка: Разные

Рейтинг: 1335.5



Недавно делал калькулятор скриптовой. а сейчас не получается(
#!/bin/bash
x=$(showTextEntry "меню" "введите число1:" "")
y=$(showTextEntry "меню" "введите число2:" "")
z=$((x + y))
showQ "отчет" "сумма двух чисел равна $z"

Почему это не работает???

если переменные x и y объявить в программе:
x=5
y=6
то, все прекрасно работает, в чем проблема?

Сообщение отредактировал igoripp - 4.7.2011, 10:28
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Programmer-tm(Мотофан.)
сообщение 4.7.2011, 10:44


Мотофан
*******

Группа: Пользователи
Сообщений: 1 681
Регистрация: 21.3.2010
Из: Из мира сего
Пользователь №: 215 291
Модель телефона: Moto X Play
Прошивка: Модифицированная...


Настроение:
Делать невозможное возможным...



Рейтинг: 620



igoripp,
а файлик showTextEntry присутствует?
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
igoripp
сообщение 4.7.2011, 10:51


Самый дерзкий
******

Группа: Пользователи
Сообщений: 1 412
Регистрация: 27.3.2010
Из: Касимов, Муром
Пользователь №: 215 540
Модель телефона: sony ion
Прошивка: Разные

Рейтинг: 1335.5



Programmer-tm(Мотофан.), да.

Добавлено позже (4.7.2011, 14:56):
#!/bin/bash
x=$(showTextEntry "меню" "введите число1:" "")
showQ "отчет" "сумма двух чисел равна $x" ""
Если так, то получается какое то непонятное сообщение, где много всего, а самая последняя строка - значение моей переменной
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Programmer-tm(Мотофан.)
сообщение 4.7.2011, 11:08


Мотофан
*******

Группа: Пользователи
Сообщений: 1 681
Регистрация: 21.3.2010
Из: Из мира сего
Пользователь №: 215 291
Модель телефона: Moto X Play
Прошивка: Модифицированная...


Настроение:
Делать невозможное возможным...



Рейтинг: 620



Цитата

Добавлено позже (4.7.2011, 14:56):
#!/bin/bash
x=$(showTextEntry "меню" "введите число1:" "")
showQ "отчет" "сумма двух чисел равна $x" ""
Если так, то получается какое то непонятное сообщение, где много всего, а самая последняя строка - значение моей переменной


x="`$mypath/showTextEntry 'Menu' 'Input 1'`"

так то же может верно отработать:
x=`$mypath/showTextEntry 'Menu' 'Input 1'`

Сообщение отредактировал Programmer-tm(Мотофан.) - 4.7.2011, 11:09
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
igoripp
сообщение 4.7.2011, 12:25


Самый дерзкий
******

Группа: Пользователи
Сообщений: 1 412
Регистрация: 27.3.2010
Из: Касимов, Муром
Пользователь №: 215 540
Модель телефона: sony ion
Прошивка: Разные

Рейтинг: 1335.5



Цитата

x="`$mypath/showTextEntry 'Menu' 'Input 1'`"

так то же может верно отработать:
x=`$mypath/showTextEntry 'Menu' 'Input 1'`

так тоже не работает, проверил другие приложения, которые не я писал. В них такая же ситуация. Сейчас ставлю другую прошивку, что то мне подсказывает: это она виновата...
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Programmer-tm(Мотофан.)
сообщение 4.7.2011, 13:13


Мотофан
*******

Группа: Пользователи
Сообщений: 1 681
Регистрация: 21.3.2010
Из: Из мира сего
Пользователь №: 215 291
Модель телефона: Moto X Play
Прошивка: Модифицированная...


Настроение:
Делать невозможное возможным...



Рейтинг: 620



igoripp,
Просто шоу модуль найди такой
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
VINRARUS
сообщение 4.7.2011, 17:22


Куратор темы

Термоядерный
********

Группа: Пользователи
Сообщений: 3 496
Регистрация: 12.12.2009
Из: Чорнобиль
Пользователь №: 211 044

Рейтинг: 1211



Цитата(igoripp @ Сегодня, 13:25)
* #!/bin/bash
x=$(showTextEntry "меню" "введите число1:" "")
y=$(showTextEntry "меню" "введите число2:" "")
z=$((x + y))
showQ "отчет" "сумма двух чисел равна $z"

А ну так попробуй:
Код
#!/bin/sh
x=`showTextEntry "меню" "введите число1:" ""`
y=`showTextEntry "меню" "введите число2:" ""`
let z=$x + $y
showQ "отчет" "сумма двух чисел равна $z"

Это на "sh", а с "bash" я не связывался. smile.gif

Сообщение отредактировал VINRARUS - 4.7.2011, 17:23
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
igoripp
сообщение 4.7.2011, 17:30


Самый дерзкий
******

Группа: Пользователи
Сообщений: 1 412
Регистрация: 27.3.2010
Из: Касимов, Муром
Пользователь №: 215 540
Модель телефона: sony ion
Прошивка: Разные

Рейтинг: 1335.5



VINRARUS, Проблема решилась перепрошивкой телефона, на zMod. Здесь все нормально запустилось. Видать, в монстре E8_silence-7, не работает корректно showTextEntry.
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
K()t
сообщение 7.7.2011, 8:33


Мотофан
*******

Группа: Почётные мотофаны
Сообщений: 1 818
Регистрация: 3.7.2009
Из: Niko City, Ukraine
Пользователь №: 202 229
Модель телефона: Motorola Razr Maxx HD
Прошивка: CM
Финалист Конкурса 2010


Настроение:




Рейтинг: 1118.5



Кто поможет написать команду чтобы она искала в файле текст GroupID = ezx и меняла его на GroupID = root
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Написание скриптов #!/bin/sh for UNIX, Кто поможет? · Motorola на Linux OS · Forum
 

26 страниц V < 1 2 3 4 5 > » 
Ответ в темуСоздание новой темы
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



Текстовая версия Сейчас: 31.10.2024, 22:52

Форум живёт: