Вариант для распечатки |
Пред. тема | След. тема | ||
Форум Разговоры, обсуждение новостей | |||
---|---|---|---|
Изначальное сообщение | [ Отслеживать ] |
"Раздел полезных советов: Специфичные особенности удаления элементов массивов в Bash" | +1 +/– | |
Сообщение от auto_tips (?), 29-Мрт-21, 10:59 | ||
В руководствах Bash упоминается, что команда "unset name[N]" выполняет удаление элемента массива, например: | ||
Ответить | Правка | Cообщить модератору |
Оглавление |
Сообщения | [Сортировка по ответам | RSS] |
1. Сообщение от Анонимчик (?), 29-Мрт-21, 10:59 | +/– | |
А где этот загадочный example_25_3.sh взять? | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Ответы: #2, #3, #14 |
2. Сообщение от Аноним (-), 29-Мрт-21, 17:45 | –2 +/– | |
зочем ? на баше скрипты ни пишут, только sh | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Родитель: #1 Ответы: #5, #18, #35 |
3. Сообщение от Аноним (3), 29-Мрт-21, 22:41 | +/– | |
Джентельмены верят друг другу на слово. | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Родитель: #1 |
5. Сообщение от Аноним (5), 31-Мрт-21, 16:01 | +/– | |
Кто не пишет? Среднестатистический Anon пишет. | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Родитель: #2 Ответы: #6 |
6. Сообщение от Аноним (-), 01-Апр-21, 03:46 | +/– | |
Умные аноны не пишут же. | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Родитель: #5 Ответы: #24, #29 |
7. Сообщение от СеменСеменыч777 (?), 01-Апр-21, 17:50 | –1 +/– | |
"программистов", чьи скрипты не проходят через | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Ответы: #8 |
8. Сообщение от Аноним (8), 02-Апр-21, 00:53 | +/– | |
борьба с башизмами -- это что-то из времен, когда баш не был предустановлен на каждом утюге? | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Родитель: #7 Ответы: #10, #31, #32 |
9. Сообщение от Blind Vic (ok), 02-Апр-21, 12:12 | +/– | |
> Специфичные особенности удаления элементов массивов в Bash | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Ответы: #12 |
10. Сообщение от СеменСеменыч777 (?), 03-Апр-21, 10:43 | +/– | |
> баш не был предустановлен на каждом утюге? | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Родитель: #8 Ответы: #11 |
11. Сообщение от Аноним (8), 04-Апр-21, 01:24 | +1 +/– | |
Портабельность - это то, что требует аргументов. Отсутствие портабельности - это состояние по-умолчанию, и аргументов не требует. Любая программа по умолчанию непортабельна, а переход на портабельность требует анализа и аргументов: нужна ли она на самом деле, какая с этого выгода, нельзя ли портабельность отдать на откуп даунстриму, чтоб апстрим не заморачивался ноль-процентной экзотикой и т.д. Причем ответы на эти вопросы следует получить не один раз, а задаваться ими буквально для каждого скрипта. | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Родитель: #10 |
12. Сообщение от edv (ok), 04-Апр-21, 21:04 | +/– | |
В русском переводе Advanced Bash-Scripting Guide, на который явно ссылается автор топика, заголовок обсуждаемого примера переведён как "Некоторые специфичные особенности массивов". | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Родитель: #9 Ответы: #13 |
13. Сообщение от Blind Vic (ok), 04-Апр-21, 21:07 | +/– | |
> В русском переводе Advanced Bash-Scripting Guide, на который явно ссылается автор топика, | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Родитель: #12 |
14. Сообщение от edv (ok), 04-Апр-21, 21:15 | +/– | |
Автор так-то указал ссылку в тексте. | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Родитель: #1 |
15. Сообщение от edv (ok), 04-Апр-21, 21:21 | +1 +/– | |
Интересно. Натыкался на подобное поведение с переменными. | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
18. Сообщение от svsd_val (ok), 07-Апр-21, 15:03 | +/– | |
Вы удивитесь, но в 90% скриптов .sh в качестве интерпретатора установлен /bin/bash и в большинстве систем /bin/sh ссылается на /bin/bash ;-) Да и само расширение sh не обязательно должно быть, так как без специальных включалок/отключалок ядро заходит в файл читает первую строчку и смотрит что там указано пытаясь выполнить указанный интерпретатор .... | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Родитель: #2 Ответы: #19, #21 |
19. Сообщение от edv (ok), 07-Апр-21, 17:24 | +/– | |
> Если поставить включить поддержку форматов, то можно к примеру на 32бит запускать arm и x64 да и всё что душе угодно.... было бы указано что и чем есть... | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Родитель: #18 Ответы: #20 |
20. Сообщение от svsd_val (ok), 07-Апр-21, 17:58 | +/– | |
>> Если поставить включить поддержку форматов, то можно к примеру на 32бит запускать arm и x64 да и всё что душе угодно.... было бы указано что и чем есть... | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Родитель: #19 |
21. Сообщение от Аноним (-), 07-Апр-21, 19:42 | +/– | |
> в качестве интерпретатора установлен /bin/bash и в большинстве систем /bin/sh ссылается на /bin/bash ;-) | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Родитель: #18 Ответы: #23 |
23. Сообщение от svsd_val (ok), 12-Апр-21, 04:14 | +/– | |
>> в качестве интерпретатора установлен /bin/bash и в большинстве систем /bin/sh ссылается на /bin/bash ;-) | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Родитель: #21 |
24. Сообщение от Анон анонимно (?), 12-Апр-21, 11:35 | +/– | |
Это когда для развлечения. А пишут на развитых инструментах. Ограничение себя неразвитыми - знак неудобных особенностей. В том или ином. | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Родитель: #6 |
25. Сообщение от izyk (ok), 12-Апр-21, 22:48 | +/– | |
Для доступа к элементам массива ВСЕГДА используйте полную запись ${colors[1]}. А лучше вообще не нужно использовать массивы в bash т.к. будет что-то типа этого: ${colors[${index}]}. Если нужны массивы используйте для этого, что-нибудь более подходящее, ИМХО. | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
26. Сообщение от izyk (ok), 12-Апр-21, 23:18 | +/– | |
https://www.gnu.org/software/bash/manual/html_node/Arrays.ht... | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
27. Сообщение от pavlinux (ok), 20-Апр-21, 14:27 | +/– | |
Во-первых, что за такая операция "удаление элемента массива"? Сам придумал? | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Ответы: #28, #33, #34 |
28. Сообщение от pavlinux (ok), 20-Апр-21, 14:46 | +/– | |
Хотя пофиг, интересен тайный смысл "удаление элемента массива"? Где профит? | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Родитель: #27 |
29. Сообщение от ммнюмнюмус (?), 25-Май-21, 16:21 | +/– | |
Умные перекладывают всё, что можно, на awk, sed, numfmt и т.д., оставляя оболочке только установку конвеера. | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Родитель: #6 Ответы: #30 |
30. Сообщение от ммнюмнюмус (?), 25-Май-21, 16:30 | +/– | |
Собственно пример. Не скажу что работает как часы - у меня только на одном компе нормально. | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Родитель: #29 |
31. Сообщение от ммнюмнюмус (?), 26-Май-21, 09:41 | +/– | |
Для утюгов - только dash, и это при условии, что для coreutils есть место. Иначе busybox. | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Родитель: #8 |
32. Сообщение от ммнюмнюмус (?), 26-Май-21, 10:02 | +/– | |
И ещё, к сожалению, писать без башизмов почти невозможно, если у вас bash по дефолту и вы пользуетесь "info bash". Потому что некоторые из башизмов занесены в раздел Basic Shell Features - brace expansion, process substitution (должно быть в Bash Features). А опция --posix только отключает POSIX-несовместимости, поддержка расширений никуда не девается. | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Родитель: #8 |
33. Сообщение от ммнюмнюмус (?), 26-Май-21, 11:38 | +/– | |
> в БАШЕ к элементам лучше обращаться по индексам: unset ${array[@]:1:1} | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Родитель: #27 |
34. Сообщение от ммнюмнюмус (?), 26-Май-21, 11:47 | +/– | |
bash "[@]:1:1" - даже гугл такого не знает | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Родитель: #27 |
35. Сообщение от ммнюмнюмус (?), 26-Май-21, 21:10 | +/– | |
> зочем ? на баше скрипты ни пишут, только sh | ||
Ответить | Правка | Наверх | Cообщить модератору | ||
Родитель: #2 |
Архив | Удалить |
Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема |
Закладки на сайте Проследить за страницей |
Created 1996-2024 by Maxim Chirkov Добавить, Поддержать, Вебмастеру |