Форум русскоязычного сообщества Ubuntu


Следите за новостями русскоязычного сообщества Ubuntu в Twitter-ленте @ubuntu_ru_loco

Автор Тема: Прошу дать критические замечания по скрипту установки transmission  (Прочитано 1773 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн alsoijw

  • Старожил
  • *
  • Сообщений: 4062
  • Fedora 25 GNOME 3 amd64
    • Просмотр профиля
Sharmankin,
1) если в какой-то файл что-то пишется неоднократно, то можно вставлять новые абзацы echo -e "text\ntext"Вроде как даже есть возможность экранировать переводы строк, чтобы не писать всё в одну строку.
2) Если нам не нужна подстановка переменных, то гораздо проще вынести конфиг в отдельный файл, а потом в скрипте копировать его в новое место.
Мало видеть нам начало - надо видеть и конец. Если видишь ты создание - значит где-то есть ТВОРЕЦ
Многие жалуются: геометрия в жизни не пригодилась. Ямб от хорея им приходится отличать ежедневно?

Оффлайн Sharmankin

  • Автор темы
  • Новичок
  • *
  • Сообщений: 17
    • Просмотр профиля
настройка демона для работы от локального пользователя http://kaktotak.org/wp/?p=55
Спасибо

Пользователь решил продолжить мысль 04 Марта 2016, 21:00:10:
Sharmankin,
1) если в какой-то файл что-то пишется неоднократно, то можно вставлять новые абзацы echo -e "text\ntext"Вроде как даже есть возможность экранировать переводы строк, чтобы не писать всё в одну строку.
2) Если нам не нужна подстановка переменных, то гораздо проще вынести конфиг в отдельный файл, а потом в скрипте копировать его в новое место.
Спасибо. Это первый скрипт, не готов к дискусси. Просто воспринимаю критику. Буду стараться пробовать.
« Последнее редактирование: 04 Марта 2016, 21:00:10 от Sharmankin »

Оффлайн alsoijw

  • Старожил
  • *
  • Сообщений: 4062
  • Fedora 25 GNOME 3 amd64
    • Просмотр профиля
Sharmankin, выполни в консолиecho "1
2"
Мало видеть нам начало - надо видеть и конец. Если видишь ты создание - значит где-то есть ТВОРЕЦ
Многие жалуются: геометрия в жизни не пригодилась. Ямб от хорея им приходится отличать ежедневно?

Оффлайн Sharmankin

  • Автор темы
  • Новичок
  • *
  • Сообщений: 17
    • Просмотр профиля
Sharmankin, выполни в консолиecho "1
2"
И что? К чему это. Где в скрипте подобное?

kononvaler

  • Гость
Sharmankin, выполни в консолиecho "1
2"
И что?
две строки будет,
имелось ввиду не надо в каждой строке писать echo, можно
echo " param1
param 2
param3"  >> $filepath/.settings/settings.json

Оффлайн Sharmankin

  • Автор темы
  • Новичок
  • *
  • Сообщений: 17
    • Просмотр профиля
Sharmankin, выполни в консолиecho "1
2"
И что?
две строки будет,
имелось ввиду не надо в каждой строке писать echo, можно
echo " param1
param 2
param3"
Если не сложно, кусок скрипта преобразуйте. Я действительно не очень понял о чем Вы. Спасибо заранее.

Оффлайн alsoijw

  • Старожил
  • *
  • Сообщений: 4062
  • Fedora 25 GNOME 3 amd64
    • Просмотр профиля
Былоecho '{' >> $filepath/.settings/settings.json
echo '    "alt-speed-down": 1280, ' >> $filepath/.settings/settings.json
echo '    "alt-speed-enabled": false, ' >> $filepath/.settings/settings.json
echo '    "alt-speed-time-begin": 540, ' >> $filepath/.settings/settings.json
Сталоecho '{
    "alt-speed-down": 1280,
    "alt-speed-enabled": false,
    "alt-speed-time-begin": 540, ' >> $filepath/.settings/settings.json
ЗЫ лень переделывать скрипт целиком, но думаю принцип понятен.
ЗЗЫ вместо 4 пробелов можно использовать табуляцию. Только тогда надо вызывать echo с ключом -e\t
Мало видеть нам начало - надо видеть и конец. Если видишь ты создание - значит где-то есть ТВОРЕЦ
Многие жалуются: геометрия в жизни не пригодилась. Ямб от хорея им приходится отличать ежедневно?

Оффлайн Sharmankin

  • Автор темы
  • Новичок
  • *
  • Сообщений: 17
    • Просмотр профиля
Былоecho '{' >> $filepath/.settings/settings.json
echo '    "alt-speed-down": 1280, ' >> $filepath/.settings/settings.json
echo '    "alt-speed-enabled": false, ' >> $filepath/.settings/settings.json
echo '    "alt-speed-time-begin": 540, ' >> $filepath/.settings/settings.json
Сталоecho '{
    "alt-speed-down": 1280,
    "alt-speed-enabled": false,
    "alt-speed-time-begin": 540, ' >> $filepath/.settings/settings.json
ЗЫ лень переделывать скрипт целиком, но думаю принцип понятен.
ЗЗЫ вместо 4 пробелов можно использовать табуляцию\t
На табуляцию траннсмишн матерится.
Такой ввод попробую. Спасибо.

Оффлайн Azure

  • Модератор раздела
  • Старожил
  • *
  • Сообщений: 6017
  • Windows10, i3wm on Debian9, Manjaro20.0
    • Просмотр профиля
MYLOCIP=$(ifconfig | sed '/127.0.0.1/s/inet addr//' | grep 'inet addr' | awk '{print $2}' | sed -e 's/.*.://')
Ужос!ip addr show | sed -n '/lo$/!s/\s*inet \([0-9.]\+\).*/\1/p'ifconfig | sed -rn '/^(lo|\s|$)/!{n;s/.*r:(\S+).*/\1/p}'
В Линукс можно сделать ВСЁ что угодно, достаточно знать КАК !

Оффлайн Sharmankin

  • Автор темы
  • Новичок
  • *
  • Сообщений: 17
    • Просмотр профиля
MYLOCIP=$(ifconfig | sed '/127.0.0.1/s/inet addr//' | grep 'inet addr' | awk '{print $2}' | sed -e 's/.*.://')
Ужос!ip addr show | sed -n '/lo$/!s/\s*inet \([0-9.]\+\).*/\1/p'ifconfig | sed -rn '/^(lo|\s|$)/!{n;s/.*r:(\S+).*/\1/p}'
Для того и спрашиваю ))))) Вот только как работает то, что я написал. Я понимаю. А как работает то, что написали Вы, до этого я еще не дошел )

Оффлайн Azure

  • Модератор раздела
  • Старожил
  • *
  • Сообщений: 6017
  • Windows10, i3wm on Debian9, Manjaro20.0
    • Просмотр профиля
echo '{
    "alt-speed-down": 1280,
    "alt-speed-enabled": false,
    "alt-speed-time-begin": 540, ' >> $filepath/.settings/settings.json
«И ты, Брут!» Написал же
Если не хотите использовать отдельный файл, то хотя бы оформите как <<\HEREDOC
cat > $filepath/.settings/settings.json <<\HERE
{
    "alt-speed-down": 1280,
    "alt-speed-enabled": false,
    "alt-speed-time-begin": 540,
...
}
HERE
В Линукс можно сделать ВСЁ что угодно, достаточно знать КАК !

Оффлайн Sharmankin

  • Автор темы
  • Новичок
  • *
  • Сообщений: 17
    • Просмотр профиля
echo '{
    "alt-speed-down": 1280,
    "alt-speed-enabled": false,
    "alt-speed-time-begin": 540, ' >> $filepath/.settings/settings.json
«И ты, Брут!» Написал же
Если не хотите использовать отдельный файл, то хотя бы оформите как <<\HEREDOC
cat > $filepath/.settings/settings.json <<\HERE
{
    "alt-speed-down": 1280,
    "alt-speed-enabled": false,
    "alt-speed-time-begin": 540,
...
}
HERE
А вот тут хочу попросить пояснений. Вроде как HEREDOC не в теме, или я ошибаюсь?

Оффлайн alsoijw

  • Старожил
  • *
  • Сообщений: 4062
  • Fedora 25 GNOME 3 amd64
    • Просмотр профиля
«И ты, Брут!» Написал же
Если не хотите использовать отдельный файл, то хотя бы оформите как <<\HEREDOC
А что это даёт?
Мало видеть нам начало - надо видеть и конец. Если видишь ты создание - значит где-то есть ТВОРЕЦ
Многие жалуются: геометрия в жизни не пригодилась. Ямб от хорея им приходится отличать ежедневно?

Оффлайн Azure

  • Модератор раздела
  • Старожил
  • *
  • Сообщений: 6017
  • Windows10, i3wm on Debian9, Manjaro20.0
    • Просмотр профиля
А как работает то, что написали Вы, до этого я еще не дошел
Тогда для полного слома головыifconfig | grep -Po 'inet addr:\K[0-9.]+(?=\s+B)'ifconfig | sed -rn '/^(lo|\s|$)/!{/\n/{P;d};n;s/[0-9.]+/\n&\n/;D}'
А что это даёт?
Кроме нормального вида? Теоретически длина команды — ограниченное число символов, HEREDOC этого ограничения не имеет, т.к. сам текст уже не входит в команду
« Последнее редактирование: 04 Марта 2016, 21:48:28 от Azure »
В Линукс можно сделать ВСЁ что угодно, достаточно знать КАК !

Оффлайн Sharmankin

  • Автор темы
  • Новичок
  • *
  • Сообщений: 17
    • Просмотр профиля
Sharmankin,
1) если в какой-то файл что-то пишется неоднократно, то можно вставлять новые абзацы echo -e "text\ntext"Вроде как даже есть возможность экранировать переводы строк, чтобы не писать всё в одну строку.
2) Если нам не нужна подстановка переменных, то гораздо проще вынести конфиг в отдельный файл, а потом в скрипте копировать его в новое место.
Хотя Вы знаете... В данном случае практичней (ИМХО) писать каждый параметр с новым "echo" ибо так понятняй и проще для восприятия во время редактирования.

Пользователь решил продолжить мысль [time]04 Март 2016, 22:47:52[/time]:
А как работает то, что написали Вы, до этого я еще не дошел
Тогда для полного слома головыifconfig | grep -Po 'inet addr:\K[0-9.]+(?=\s+B)'
А что это даёт?
Кроме нормального вида? Теоретически длина команды — ограниченное число символов, HEREDOC этого ограничения не имеет, т.к. сам текст уже не входит в команду
Да регулярные выражения, это для меня действительно "слом головы" ))). Если подскажете нормальные статьи почитать по ним. Буду признателен. (похрен на каком языке (желательно не на китайском, его не осилю )))
« Последнее редактирование: 04 Марта 2016, 21:49:24 от Sharmankin »

 

Страница сгенерирована за 0.029 секунд. Запросов: 25.