Прежде всего, я хотел бы извиниться, так как в прошлую пятницу я не смог написать пост, поэтому сегодня я добавлю дополнительный, чтобы восполнить потерянный день. 🙂
Расширение скобы
В испанском языке расширение клавиш кажется мне функцией, вдохновленной C-оболочка, это генерирует комбинации между символами, которые вводятся в фигурные скобки, в порядке слева направо. Это совсем не сложно, но это вариант, который будет очень полезен в наших турах по GNU / Linux.
пример:
$ echo a {1,2,3} a1 a2 a3
При использовании с запятыми (,) генерирует комбинации между значением a и значениями внутри фигурных скобок. Если бы вне ключей не было значения, оно показывало бы только один раз каждое значение, которое содержит ключ.
$ echo {a, b, c} abc
Его использование совсем несложно, есть и другие более распространенные примеры, такие как создание множества каталогов в папке.
$ mkdir ~ / Jobs / {один, два, три, четыре, пять}
Это создает пять папок в папке заданий, это как вводить одну команду за раз. Создание 5 каталогов.
Есть расширение на два пункта .. Это создает серию чисел или символов, которые переходят от начального значения к конечному значению, не используйте буквенные числа.
$ echo {1..5} #Correct 1 2 3 4 5 $ echo {a..f} #Correct abcdf $ echo {a..5} #Incorrect {a..5} # Думаю, я никогда к этому не привыкну синий цвет в письме
Мы можем сэкономить время, создав цикл для
# Вместо того, чтобы писать $ for ((i = 1; i <= 5; i ++)); do echo "Мое число $ i"; done Мой номер 1 Мой номер 2 Мой номер 3 Мой номер 4 Мой номер 5 # Сохраните код, используя фигурные скобки. $ для i в {1..5}; do echo "Мой номер $ i; done Мой номер 1 Мой номер 2 Мой номер 3 Мой номер 4 Мой номер 5 # Конечно, его можно использовать, хотя вывод другой. $ echo" Мой номер "{1..5} Мой номер 1 Мой номер 2 Мой номер 3 Мой номер 4 Мой номер 5
Что ж, я думаю, что концепция ясна, хаха, сейчас я только прокомментирую, что она комбинируема и вложена. Что я имею в виду под этим?
С Combinable, к которому мы можем присоединить один или несколько ключей
$ echo {a..c} {1..3} a1 a2 a3 b1 b2 b3 c1 c2 c3
С вложенностью, как многие могли подумать, вы можете использовать ключи расширения внутри ключей расширения
$ echo {a, c {1..3}, d} a c1 c2 c3 d
И наконец из Баш НИЧЕГО возможно увеличение значений.
$ echo {0..20..2} 0 2 4 6 8 10 12 14 16 18 20
На сегодня все, спасибо, что читаете меня people
Дополнительно
Как создать локальную корзину
Когда я говорю бункер local я имею в виду каталог, в котором у нас есть собственные скрипты, и их можно выполнить как простую команду ...
Достичь этого относительно просто, первое, что нужно сделать, - это создать каталог, в котором мы будем сохранять скрипты.
mkdir ~ / .bin # В этом примере он будет скрыт
Теперь у нас есть папка для сохранения скриптов, но она не будет работать, пока мы не добавим путь к новому .bin в $ PATH.
Для этого файл редактируется bash_profile, и строка добавлена.
экспорт PATH = $ PATH: ~ / .bin
И вуаля, этого достаточно, чтобы создать локальную корзину, конечно, она будет запрашивать права root, если это необходимо, например, мы напишем быстрый скрипт.
#! / bin / bash echo "Привет, $ 1, как дела?"
Сохраните его с именем привет
Скрипту дано разрешение на выполнение, и его достаточно будет только вызвать его с терминала.
$ hello wada # Появится сообщение Hello wada, как дела?
Таким образом, с помощью этого быстрого трюка вы можете быстрее запускать свои скрипты
На сегодня все, здоровые 🙂
PS Извините за ошибки, если есть, глаза уже закрываются хахаха 😀
Я уже давно занимаюсь проблемой bash, и я не понял этих расширений скобок, спасибо.
Что касается трюка с путями, Fedora по умолчанию делает что-то подобное, но в "~ / .local / bin" посмотрите фрагмент bash_profile, который я передал Джесси.
ПУТЬ = $ ПУТЬ: $ HOME / .local / bin: $ HOME / bin
экспорт ПУТЬ
У меня есть некоторые опасения:
1. Как мне заставить его дать мне два интервала с расширением по очкам; возраст {1..24,55..90} и что я увеличиваю возраст с 1 до 24 и продолжаю с 55 до XNUMX. как я это сделал, не сработало. Почему?
2. Если я хочу, чтобы первое значение было нулевым, и продолжаю нумерацию:
получить: http://manga.favorito /образ http://manga.favorito/imagen1
Я попробовал следующий способ, но wget не получил: http://manga.favorito/imagen{, 1..42} По моему мнению, мне пришлось бы оставить имя без номера и продолжить нумерацию от 1 до 42, но это было не так. Почему?
Вы правы, в некоторых дистрибутивах есть или был .bin, но это так, чтобы каждый мог понять и увидеть, что это можно сделать в любом дистрибутиве: D, Спасибо, что заглянули.
Очень хорошо очень хорошо для этого вклада знаний в мир Linux и его безопасность, в какую-то пятницу я надеюсь, что смогу прочитать, как отформатировать флешку в терминале и записать ISO-образ DVD / CD любой свободной системы в терминале.
Спасибо за слова, брат 😀 Обещаю, что в следующую пятницу сделаю этот пост. И я должен сказать о настройке Vim, хахаха, но я не хотел, чтобы они думали, что это будет охватывать только Vim.
Превосходная терминальная статья, лучшая, которую я прочитал за долгое время, считая несколько блогов, публикующих уроки в этом стиле. Большое спасибо!!
Спасибо большое 😀 Постараюсь не отставать.
Отличный совет местного мусорного ведра!
Привет!
Отлично, здорово, что он вам пригодился, большое спасибо за проходящего брата 😀
Очень хорошо! Понятия не имею об этом. Спасибо 🙂
Добро пожаловать, брат, спасибо, что нашел время, чтобы его прочитать 😀
У меня есть некоторые опасения:
1. Как мне заставить его дать мне два интервала с расширением по очкам; возраст {1..24,55..90} и что я увеличиваю возраст с 1 до 24 и продолжаю с 55 до XNUMX. как я это сделал, не сработало. Почему?
2. Если я хочу, чтобы первое значение было нулевым, и продолжаю нумерацию:
получить: http://manga.favorito/imagen http://manga.favorito/imagen1
Я попробовал следующий способ, но wget не получил: http://manga.favorito/imagen{, 1..42} По моему мнению, мне пришлось бы оставить имя без номера и продолжить нумерацию от 1 до 42, но это было не так. Почему?
* Извините, но я поместил первый пост как ответ, и в некоторых частях он был неправильным
1.- Ваша логика неверна, вы должны вложить ее, хахаха, попробуйте
$ echo {{1..24},{55..90}}
2.- То же, что и предыдущий ...
$ echo "URL"{,{1..42}}
Не волнуйся, брат, мы здесь, чтобы помочь нам 🙂
Чтобы заменить for на echo, это будет выглядеть так
echo "Мой номер" {1..5} $ '\ n' | sed -e: a -e '$! N; s / \ n / \ n /; ta' | sed -e: a -e '$! N; s / 5 \ n / 5 /; ta'
но я предпочитаю printf
printf "Я, я% d \ n" {1..5}
и использовать ту же концепцию ключевого расширения
Ув
jvk85321
Как поставить клеммные коробки ????
Ув
jvk85321
Проверка работы тега кода
хе-хе
Чтобы заменить for на echo, это будет выглядеть так
echo “Mi numero “{1..5}$’\n’ | sed -e :a -e ‘$!N;s/\n /\n/;ta’ | sed -e :a -e ‘$!N;s/5\n/5/;ta’
pero prefiero printf
printf “Mi numero %d\n” {1..5}
и использовать ту же концепцию ключевого расширения
Ув
jvk85321
У меня остались некоторые ошибки, но это сработало
Я жив, малуко
Извините за беспокойство
Ув
jvk85321
Хахаха, вы сами ответили, но если это между ярлыками
без пробелов ...
И при замене на не нужно делать столько трубы хахахаха с:
echo -e "Mi numero "{1..5}"\n\b"
Честно говоря, printf - лучший способ печатать текст в скриптах, он более переносимый, но традиционно использует эхо.
Я беру пробелы! хахахахаха
давай посмотрим сейчас 😀
Черт, это "меньше" кода "больше" "меньше" / code "больше, чем" хахахаха
Проблема в том, что echo -e нестандартна, поэтому работает не во всех системах.
Также выходит грязным
jvk@jvktos:~$ echo -e "Mi numero "{1..5}"\n\b"
Mi numero 1
Mi numero 2
Mi numero 3
Mi numero 4
Mi numero 5
jvk@jvktos:~$
И с этим
jvk@jvktos:~$ echo "Mi numero "{1..5}$'\n' | sed -e :a -e '$!N;s/\n /\n/;ta' | sed -e :a -e '$!N;s/5\n/5/;ta'
Mi numero 1
Mi numero 2
Mi numero 3
Mi numero 4
Mi numero 5
jvk@jvktos:~$
Думаю, второй лучше показывает результат, хахаха
Ув
jvk85321
Эти ярлыки - облом, ах, посмотрим, сработают ли они сейчас
jvk@jvktos:~$ echo -e "Mi numero "{1..5}"\n\b"
Mi numero 1
Mi numero 2
Mi numero 3
Mi numero 4
Mi numero 5
jvk@jvktos:~$
И с этим
jvk@jvktos:~$ echo "Mi numero "{1..5}$'\n' | sed -e :a -e '$!N;s/\n /\n/;ta' | sed -e :a -e '$!N;s/5\n/5/;ta'
Mi numero 1
Mi numero 2
Mi numero 3
Mi numero 4
Mi numero 5
jvk@jvktos:~$
Думаю, второй лучше показывает результат, хахаха
Ув
jvk85321
В любом случае оставляйте пробелы между строками, поэтому я ненавижу html, хахахаха
Превосходно! Я хлопаю тебе ногами, ха-ха
Я не знал, что ключи могут быть вложенными, так как я никогда не пробовал их использовать, это действительно экономит много кода, и это также более читабельно. Спасибо!
Спасибо за то, что пропустил, брат, я рад, что это было полезно utilidad
Пожалуйста, мы здесь для того, чтобы делиться идеями и делиться ими. Я не знаю, как программировать, я просто сделал пару вещей в Bash и опубликовал несколько скриптов, которые я сделал, в двух сообщениях. Я думаю, что знание этого может облегчить понимание кода.