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

Написание скриптов #!/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
сообщение 9.7.2011, 20:40


Куратор темы

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

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

Рейтинг: 1211



Цитата(K()t @ 7.7.2011, 11:33)
* Кто поможет написать команду чтобы она искала в файле текст GroupID = ezx и меняла его на GroupID = root

Както так, пробуй, не знаю будет ли работатъ как нада, но ход мысли вроде правельный, проверить у меня нету возможности. sad.gif

Код
#!/bin/sh
FU=/mmc/mmca1/zzz
MU=`sed -e '/^GroupID = ezx/!d;=' -e '/^GroupID = ezx/d' $FU`
for OLOLO in $MU
do
echo $OLOLO
sed "$OLOLO"c'GroupID = root' $FU > $FU
done



Сообщение отредактировал VINRARUS - 4.11.2017, 19:18
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Pyth_ON!
сообщение 10.7.2011, 6:47


MOTOMAGXX0r
****

Группа: Пользователи
Сообщений: 166
Регистрация: 29.4.2009
Пользователь №: 198 680
Модель телефона: ROKR EM30/PEARL VE66
Прошивка: R6716_G_71.01.02R_B

Рейтинг: 48



Цитата(K()t @ 7.7.2011, 8:33) *

Кто поможет написать команду чтобы она искала в файле текст GroupID = ezx и меняла его на GroupID = root

Ну, первое что придумал:
Код

#!/bin/sh
cat $1 | sed 's/^GroupID = ezx/GroupID = root/g' > $1.tmp
rm $1; mv $1.tmp $1

Говнокод, но должен работать smile.gif
Записать этот код в файл и запускать как:
Код
script.sh /path/to/file

где /path/to/file - файл, в котором нужно выполнить замену.
Вообще если ты хочешь встроить это в свой скрипт то выложи скрипт, помогу smile.gif

Сообщение отредактировал Pyth_ON! - 10.7.2011, 13:57
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
VINRARUS
сообщение 10.7.2011, 8:48


Куратор темы

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

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

Рейтинг: 1211



Pyth_ON!,
а и правда, все решается банальной заменой!
Как я мог о ней забыть! sad.gif

Просто недавно я работал над сложным скриптом, где мне нужно было заменять опреленные строки, вот каша и застыла в бошке...

Вот токо я б посоветовал все параметры для замены всегда писатъ с символом начала строки "^", ну мало ли, может ктото так с дуру прогу назвет. smile.gif

А вот так грамотно это делать:
Код
sed -i '/^GroupID = ezx/GroupID = root/g' $1


Сообщение отредактировал VINRARUS - 4.11.2017, 19:20
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Pyth_ON!
сообщение 10.7.2011, 13:57


MOTOMAGXX0r
****

Группа: Пользователи
Сообщений: 166
Регистрация: 29.4.2009
Пользователь №: 198 680
Модель телефона: ROKR EM30/PEARL VE66
Прошивка: R6716_G_71.01.02R_B

Рейтинг: 48



VINRARUS, Спасибо за дополнение smile.gif

Сообщение отредактировал Pyth_ON! - 10.7.2011, 14:00
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Osta
сообщение 10.7.2011, 17:41


Freestyler
********

Группа: Легенды MotoFan.Ru
Сообщений: 10 329
Регистрация: 20.7.2004
Пользователь №: 8 235
Модель телефона: Moto
Прошивка: *#9999#


Настроение:
Все невыспавшиеся в следующей жизни будут котами



Рейтинг: 4362



уважаемые, помогите перенести скрипт с явы

Код



<script type='text/javascript'>
var d2 = new Date();
var day2 =   TwoDigits(d2.getDate());
var month2 = TwoDigits(d2.getMonth()+1);
var year2 =  d2.getFullYear();
document.write("Новости за <b>сегодня</b> "+day2+"."+month2+"."+year2);
var MODAY = "http://www.vedomosti.ru/podcast/files/"+year2+"/"+month2+"/"+day2+"/vedomosti.mp3";


function TwoDigits(s){
if(s<10){s = '0'+s;}else{s = ''+s;} return(s)
}

</script>




скрипт формирует ссылку в зависимости от сегодняшней даты
к примеру сегодня 15 07 2011
ссылка должна быть
_http://www.vedomosti.ru/podcast/files/2011/07/15/vedomosti.mp3
год - всегда 4 цифры, месяц - всегда две цифры, дата - всегда 2 цифры
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
VINRARUS
сообщение 10.7.2011, 19:04


Куратор темы

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

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

Рейтинг: 1211



Osta, вот ето подставляет в ссылку севодняшную дату. smile.gif
Код
URL="http://www.vedomosti.ru/ podcast/files/`date +%Y/%m/%d`/ vedomosti.mp3"


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


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

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

Рейтинг: 1335.5



Помогите создать скрипт, который, через 120 секунд после включения копировал бы один файл в заданную папку. Файл zCpuOver.txt в /mmc/movinand1/Uknow/

EXL: В meldl.conf добавь:
Код

sleep 120
cp zCpuOver.txt /mmc/movinand1/Uknow/zCpuOver.txt

Вот только не знаю, будет ли такой способ работать.


Сообщение отредактировал EXL - 11.7.2011, 19:58
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
mPhoneR
сообщение 12.7.2011, 5:03


Мастер
****

Группа: Пользователи
Сообщений: 196
Регистрация: 25.2.2009
Из: 42RUS
Пользователь №: 194 388
Модель телефона: E2\LG GT540
Прошивка: mUbuntu\2.2.2


Настроение:
Mood downloading...



Рейтинг: 60



А может, лучше как-то так?

Код
(sleep 120; /путь/к/скрипту/zCpuOver.txt)&


Сообщение отредактировал mPhoneR - 12.7.2011, 5:05
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Osta
сообщение 12.7.2011, 5:47


Freestyler
********

Группа: Легенды MotoFan.Ru
Сообщений: 10 329
Регистрация: 20.7.2004
Пользователь №: 8 235
Модель телефона: Moto
Прошивка: *#9999#


Настроение:
Все невыспавшиеся в следующей жизни будут котами



Рейтинг: 4362



а есть какие-то готовые парсеры с башорга или иного?
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Pyth_ON!
сообщение 13.7.2011, 4:58


MOTOMAGXX0r
****

Группа: Пользователи
Сообщений: 166
Регистрация: 29.4.2009
Пользователь №: 198 680
Модель телефона: ROKR EM30/PEARL VE66
Прошивка: R6716_G_71.01.02R_B

Рейтинг: 48



Цитата(Osta @ 12.7.2011, 5:47) *

а есть какие-то готовые парсеры с башорга или иного?

Концепт на php: http://rfteam.110mb.com/shao/4.php
Код на php: http://forum.max-3000.com/viewtopic.php?f=...672&start=0
Еще php: http://paste.org.ru/?eacrbj
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Написание скриптов #!/bin/sh for UNIX, Кто поможет? · Motorola на Linux OS · Forum
 

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

 



Текстовая версия Сейчас: 29.3.2024, 12:33

Форум живёт: