• B правой части каждого сообщения есть стрелки и . Не стесняйтесь оценивать ответы. Чтобы автору вопроса закрыть свой тикет, надо выбрать лучший ответ. Просто нажмите значок в правой части сообщения.

  • Курсы Академии Кодебай, стартующие в мае - июне, от команды The Codeby

    1. Цифровая криминалистика и реагирование на инциденты
    2. ОС Linux (DFIR) Старт: 16 мая
    3. Анализ фишинговых атак Старт: 16 мая Устройства для тестирования на проникновение Старт: 16 мая

    Скидки до 10%

    Полный список ближайших курсов ...

Как изменить sh скрипт ?

satfan

Green Team
26.06.2022
77
1
BIT
55
Есть такой скрипт:
Bash:
#!/bin/sh
#Преобразует плейлисты .m3u в enigma2 userbouquet
cd /tmp ; find -maxdepth 1 -type f -name "*.m3u" | sed 's/^..//' > list
[ ! -s list ] && echo "Нет ни одного файла .m3u в папке /tmp" && exit
while [ -s list ] ; do
    m3u=`cat list | head -n1`
    name=`echo "$m3u" | sed 's/.m3u//'`
    echo "userbouquet.$name.tv"
    sed -i "1d" list
    sed -i '/^http\|^#EXTINF\|^rtmp/!d' $m3u
    sed -i '/^#EXTINF/N;/\n#EXTINF/D' $m3u
    sed -i '/^http/N;/\nhttp/D' $m3u
    cat $m3u | awk 'NR%2==0 {print $0; print p} {p=$0}' >> file
    sed -i '/#EXTINF/!s/:/%3a/g; s/[[:space:]]$\||User-Agent=.*//; N;s/\n#EXTINF.*,/:/; s/ \+/ /g; s/^http\|^rtmp/#SERVICE 4097:0:1:0:0:0:0:0:0:0:&/' file
    sed -f /usr/script/reference -i file
    echo "Референсы добавлены на каналы в \"userbouquet.$name.tv\""
    sed -i "/iptv[12]*.evpanet\|udp\|mpegts/s/SERVICE 4097/SERVICE 1/g; 1s/^/#NAME $name\n/;" file
    mv file /etc/enigma2/userbouquet.$name.tv ; rm $m3u
    if grep -q "userbouquet.$name.tv" /etc/enigma2/bouquets.tv ; then
        echo 'Каналы перезаписаны' ; echo ''
    else
        echo 'Запись каналов в букеты' ; echo ''
        echo "#SERVICE 1:7:1:0:0:0:0:0:0:0:FROM BOUQUET \"userbouquet.$name.tv\" ORDER BY bouquet" >> /etc/enigma2/bouquets.tv
    fi
done
echo 'Перезагрузка usrbouquet' ; echo ''
wget -q -O - http://127.0.0.1/web/servicelistreload?mode=2 > /dev/null
exit 0

Нужно убрать из скрипта строки, чтобы это действие не выполнялось.
echo "Референсы добавлены на каналы в \"userbouquet.$name.tv\""
Данные для этой замены скрипт получает из файла; reference
Остальное должно сработать без изменений.
 

f22

Codeby Academy
Gold Team
05.05.2019
1 842
225
BIT
1 055
Нужно убрать из скрипта строки, чтобы это действие не выполнялось.
echo "Референсы добавлены на каналы в \"userbouquet.$name.tv\""
Достаточно просто закомментировать - поставить символ решётки перед первой инструкцией:
Bash:
# echo "Референсы добавлены на каналы в \"userbouquet.$name.tv\""
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!