Вариант для распечатки |
Пред. тема | След. тема | ||
Форум Разговоры, обсуждение новостей | |||
---|---|---|---|
Изначальное сообщение | [ Отслеживать ] |
"Раздел полезных советов: Скрипт для конвертации архива gz в lzma" | +2 +/– | |
Сообщение от auto_tips (ok), 27-Фев-22, 18:44 | ||
Скрипт для преобразования архива .gz в .lzma с сохранением времени изменения/создания файла и прав доступа, а также с минимальным влиянием на производительность. | ||
Ответить | Правка | Cообщить модератору |
Оглавление |
Сообщения | [Сортировка по ответам | RSS] |
1. Сообщение от ABATAPA (ok), 27-Фев-22, 18:44 | +15 +/– | |
Привер того, как нельзя делать: переменные без кавычек, вызов внешних программ с простой передачей им "голых" переменных (которые подставляются в exec), двойное раскодирование (сперва "тест", потом основное) вместо обработки кодов возврата... | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
2. Сообщение от Аноним (2), 28-Фев-22, 20:45 | +7 +/– | |
соглашусь с предыдущим оратором. Автор, вбей свой скрипт в shellcheck. | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Ответы: #9 |
3. Сообщение от john_erohin (?), 28-Фев-22, 21:43 | –4 +/– | |
> что за задачка такая странная? Зачем это вообще нужно? | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Ответы: #4, #6, #8, #14 |
4. Сообщение от Аноним (2), 01-Мрт-22, 07:55 | +4 +/– | |
> отказать. снижает читаемость | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Родитель: #3 Ответы: #17, #47, #56 |
5. Сообщение от Аноним (5), 02-Мрт-22, 12:07 | +2 +/– | |
Мы всегда когда-то только учились. | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
6. Сообщение от Аноним (6), 02-Мрт-22, 20:03 | +4 +/– | |
> хочу перепаковать .. в lzma | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Родитель: #3 Ответы: #7 |
7. Сообщение от Аноним (6), 02-Мрт-22, 20:04 | +/– | |
zcat in.tar.gz | lzma > out.tar.lzma | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Родитель: #6 Ответы: #12 |
8. Сообщение от Аноним (6), 02-Мрт-22, 20:09 | +3 +/– | |
А скрипт просто ужасен. Переменные без кавычек после rm и mv - верный путь удалить себе ноги или переместить их вместо рук. | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Родитель: #3 Ответы: #33 |
9. Сообщение от Омомо (?), 03-Мрт-22, 22:25 | +1 +/– | |
> set -euo pipefail | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Родитель: #2 Ответы: #11, #29 |
10. Сообщение от Омомо (?), 03-Мрт-22, 22:31 | +/– | |
"не нужно! этот ваш шелл нечитаемый. пишите на нормальных языках!" | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Ответы: #25 |
11. Сообщение от john_erohin (?), 04-Мрт-22, 07:46 | +2 +/– | |
> там в шебанге -- `/bin/sh`, нет никакого pipefail. | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Родитель: #9 Ответы: #21, #42 |
12. Сообщение от john_erohin (?), 04-Мрт-22, 07:55 | –1 +/– | |
> zcat in.tar.gz | lzma > out.tar.lzma | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Родитель: #7 Ответы: #57 |
13. Сообщение от i (??), 09-Мрт-22, 01:29 | +/– | |
Одно дело написать скриптец, чтобы он за вечерок перелопатил что-то, или за выходные, и совсем другое делать готовое решение, решение которое должно кроме защиты от инжектов включать защиты от двойного запуска, уметь определять когда оно было прервано, чтобы продолжать с нужного места, на баше это конечно делается, но настолько муторно, что проще переписать на чем-то вменяемом. | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Ответы: #15 |
14. Сообщение от Аноним (14), 22-Мрт-22, 15:59 | +/– | |
Но зачем в устаревший lzma, а не в xz? | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Родитель: #3 Ответы: #18 |
15. Сообщение от Pavel (??), 23-Мрт-22, 16:04 | +/– | |
А чего тут муторного? | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Родитель: #13 Ответы: #26, #28, #32 |
16. Сообщение от pavlinux (ok), 26-Мрт-22, 11:45 | +1 +/– | |
LZMA было модно лет 15 назад, ща ZSTD в тренде. https://github.com/facebook/zstd | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Ответы: #60 |
17. Сообщение от pavlinux (ok), 26-Мрт-22, 11:59 | +/– | |
Например, выведи мне строку "-n". | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Родитель: #4 Ответы: #22 |
18. Сообщение от john_erohin (?), 26-Мрт-22, 13:20 | +/– | |
> Но зачем в устаревший lzma, а не в xz? | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Родитель: #14 Ответы: #53 |
19. Сообщение от pavlinux (ok), 26-Мрт-22, 18:30 | +/– | |
> /usr/bin/nice -19 \ | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Ответы: #35, #38 |
21. Сообщение от ммнюмнюмус (?), 29-Мрт-22, 02:30 | +/– | |
Не знаю, как в gentoo, но в calculate по дефолту. А может и в gentoo тоже. | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Родитель: #11 |
22. Сообщение от ммнюмнюмус (?), 29-Мрт-22, 02:38 | +/– | |
> Например, выведи мне строку "-n". | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Родитель: #17 Ответы: #23 |
23. Сообщение от pavlinux (ok), 29-Мрт-22, 12:24 | +1 +/– | |
>> Например, выведи мне строку "-n". | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Родитель: #22 Ответы: #24 |
24. Сообщение от ммнюмнюмус (?), 31-Мрт-22, 22:50 | +/– | |
>>> Например, выведи мне строку "-n". | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Родитель: #23 |
25. Сообщение от ммнюмнюмус (?), 31-Мрт-22, 23:34 | +2 +/– | |
Выглядит как сарказм, зачем это минусовать. | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Родитель: #10 |
26. Сообщение от ммнюмнюмус (?), 31-Мрт-22, 23:37 | +/– | |
> А чего тут муторного? | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Родитель: #15 Ответы: #37 |
28. Сообщение от ммнюмнюмус (?), 31-Мрт-22, 23:51 | +/– | |
# То же самое, но чуть более читаемо | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Родитель: #15 |
29. Сообщение от Аноним (29), 03-Апр-22, 05:56 | –1 +/– | |
Пытаться сделать что-то с POSIX-шеллом сложнее hello world — бесполезная трата времени. | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Родитель: #9 Ответы: #30, #34, #55 |
30. Сообщение от john_erohin (?), 06-Апр-22, 05:50 | +/– | |
> Пытаться сделать что-то с POSIX-шеллом сложнее hello world — бесполезная трата времени. | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Родитель: #29 |
32. Сообщение от Аноним (34), 07-Апр-22, 03:06 | +/– | |
> А чего тут муторного? | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Родитель: #15 |
33. Сообщение от Аноним (34), 07-Апр-22, 03:19 | –1 +/– | |
Переменная проверяется до mv и rm, смысла нет засирать кавычками и флажками. Если что-то такое с пробелами в $F подсунуть, иф упадет. | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Родитель: #8 Ответы: #36, #46, #58 |
34. Сообщение от Аноним (34), 07-Апр-22, 03:31 | +/– | |
Если что-то трудно изобразить на чистом шелле, то на баше получится урод еще покруче. Как раз 3.5 случая, когда башизмы хорошо ложатся. Лично мне проще писать на примитивном и простом как палка шелле, чем зазубривать все особенности баша. | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Родитель: #29 Ответы: #54 |
35. Сообщение от AntiSmoozer (?), 11-Апр-22, 00:13 | +/– | |
Смузи выпил? | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Родитель: #19 |
36. Сообщение от Аноним (36), 13-Апр-22, 12:23 | +/– | |
Из каких конструкций можно понять, что переменная действительно проверяется до mv и rm? Неочевидно и неизвестно никому через два месяца. | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Родитель: #33 |
37. Сообщение от Аноним (36), 13-Апр-22, 12:40 | +/– | |
Так это делают: source /папка/файл | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Родитель: #26 Ответы: #39, #40 |
38. Сообщение от Аноним (36), 13-Апр-22, 12:43 | +/– | |
Так ведь у автора зато без sudo. | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Родитель: #19 Ответы: #43 |
39. Сообщение от ммнюмнюмус (?), 17-Апр-22, 16:16 | +/– | |
> Знания, что у каких-то топовых шелл 'set +e' будет принудительно сделан по POSIX при уровне вложенности более x (x=2, если верно помню), хоть бы и напишешь 'set -e' | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Родитель: #37 |
40. Сообщение от ммнюмнюмус (?), 17-Апр-22, 16:32 | +/– | |
'-o pipefail' тоже не по posix | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Родитель: #37 |
41. Сообщение от Ano (?), 18-Апр-22, 17:04 | +/– | |
Скрипт прочтения man gz lzma bash | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
42. Сообщение от ммнюмнюмус (?), 19-Апр-22, 22:08 | +/– | |
> есть такие потребители смузей, что линкуют жырный bash на /bin/sh | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Родитель: #11 |
43. Сообщение от pavlinux (ok), 25-Апр-22, 11:30 | +/– | |
> Так ведь у автора зато без sudo. | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Родитель: #38 Ответы: #48, #61 |
44. Сообщение от pavlinux (ok), 25-Апр-22, 12:23 | +/– | |
| ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Ответы: #45, #51, #62 |
45. Сообщение от Аноним (46), 28-Апр-22, 15:18 | +/– | |
> if [ "$(file --mime-type $i|cut -d' ' -f2)" != "application/gzip" ]; then continue; fi | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Родитель: #44 |
46. Сообщение от Аноним (46), 28-Апр-22, 15:26 | +1 +/– | |
> Переменная проверяется до mv и rm, смысла нет засирать кавычками и флажками. | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Родитель: #33 |
47. Сообщение от echomaster (?), 07-Май-22, 20:58 | +/– | |
echo - -n | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Родитель: #4 |
48. Сообщение от john_erohin (?), 12-Май-22, 21:55 | +/– | |
> Афтор - чайник, у него "/usr/bin/nice -19", | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Родитель: #43 Ответы: #49 |
49. Сообщение от pavlinux (ok), 21-Май-22, 17:07 | +/– | |
Косяк это шелов и окружений (env), если nice -19 exec у тебя показывает наименьший, | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Родитель: #48 Ответы: #50 |
50. Сообщение от john_erohin (?), 10-Июн-22, 22:17 | +/– | |
> Чтоб работало везде пиши: nice -n 19 или nice -n -19; | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Родитель: #49 |
51. Сообщение от другой Аноним (?), 25-Июн-22, 14:02 | +/– | |
[~/src]:$ file --ver | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Родитель: #44 Ответы: #52 |
52. Сообщение от pavlinux (ok), 20-Июл-22, 19:12 | +/– | |
> надо бы ещё проверять, а все ли | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Родитель: #51 |
53. Сообщение от Werwolf (ok), 04-Окт-22, 12:24 | +/– | |
zstd пробовали? | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Родитель: #18 Ответы: #59 |
54. Сообщение от OpenEcho (?), 25-Фев-23, 19:24 | +/– | |
> чем зазубривать все особенности баша. | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Родитель: #34 |
55. Сообщение от OpenEcho (?), 25-Фев-23, 19:28 | +/– | |
> Пытаться сделать что-то с POSIX-шеллом сложнее hello world — бесполезная трата времени. | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Родитель: #29 |
56. Сообщение от OpenEcho (?), 25-Фев-23, 19:35 | +/– | |
> разных строк. Например, выведи мне строку "-n". Вот попробуй сам: echo -n | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Родитель: #4 |
57. Сообщение от OpenEcho (?), 25-Фев-23, 23:17 | +/– | |
А зачем вот это все? | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Родитель: #12 |
58. Сообщение от OpenEcho (?), 25-Фев-23, 23:22 | +/– | |
> У вас просто догма - нужно все обкавычивать, как бы чего не вышло. | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Родитель: #33 |
59. Сообщение от OpenEcho (?), 25-Фев-23, 23:27 | +/– | |
> zstd пробовали? | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Родитель: #53 |
60. Сообщение от OpenEcho (?), 25-Фев-23, 23:34 | +/– | |
> LZMA было модно лет 15 назад, ща ZSTD в тренде. https://github.com/facebook/zstd | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Родитель: #16 |
61. Сообщение от OpenEcho (?), 25-Фев-23, 23:37 | +/– | |
> Но у меня такое ощщущенние, что это больше на DoS похоже. | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Родитель: #43 |
62. Сообщение от OpenEcho (?), 25-Фев-23, 23:40 | +/– | |
> for i in $(ls -1 *[gG][zZ]); | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Родитель: #44 |
Архив | Удалить |
Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема |
Закладки на сайте Проследить за страницей |
Created 1996-2024 by Maxim Chirkov Добавить, Поддержать, Вебмастеру |