Терминални петак: Басх [проширење кључа]

Пре свега, желео бих да се извиним, јер прошлог петка нисам могао да напишем пост, па ћу данас додати додатак да надокнадим изгубљени дан. 🙂

Браце Екпансион

На шпанском језику чини ми се да је проширење кључа функција инспирисана Ц Схелл, ово генерише комбинације између знакова који се уносе унутар заграда, редослед који користи је слева удесно. Није нимало компликовано, али то је опција која ће бити врло корисна у нашим обиласцима ГНУ / Линука.

Пример:

$ ецхо а {1,2,3} а1 а2 а3

Када се користи са зарезима (,) генерише комбинације између вредности а и вредности унутар заграда. Да нема вредности изван кључева, она би приказала само једном сваку вредност коју кључ садржи.

$ ецхо {а, б, ц} абц

Његова употреба уопште није сложена, постоје и други чешћи примери попут стварања многих директоријума у ​​фасцикли

$ мкдир ~ / Послови / {један, два, три, четири, пет}

Ово ствара пет директоријума у ​​фасцикли послова, то је као да уносите једну по једну команду. Израда 5 директорија.

Постоје проширења за две тачке .. Ово ствара низ бројева или знакова који иду од почетне до крајње вредности, не користите бројеве са словима.

$ ецхо {1..5} #Цоррецт 1 2 3 4 5 $ ецхо {а..ф} #Цоррецт абцдф $ ецхо {а..5} #Инцоррецт {а..5} # Мислим да никада нећу добити навикао на ову плаву боју у писму

Стварањем циклуса можемо уштедети време за

# Уместо писања $ фор ((и = 1; и <= 5; и ++)); до ецхо "Мој број $ и"; готово Мој број 1 Мој број 2 Мој број 3 Мој број 4 Мој број 5 # Сачувај код помоћу проширења заграде. $ за и за {1..5}; до ецхо "Мој број $ и; готово Мој број 1 Мој број 2 Мој број 3 Мој број 4 Мој број 5 #Наравно да је ваљано користити иако су излази различити. $ ецхо" Мој број "{1..5} Мој број 1 Мој број 2 Мој број 3 Мој број 4 Мој број 5

Па мислим да је концепт јасан, хаха, сад ћу само прокоментарисати да је комбинован и угнежђен.Шта мислим под тим?
Уз комбинацију којој можемо придружити један или више кључева

$ ецхо {а..ц} {1..3} а1 а2 а3 б1 б2 б3 ц1 ц2 ц3

Уз гнежђење, како би многи замислили, можете користити кључеве за проширење унутар кључева за проширење

$ ецхо {а, ц {1..3}, д} а ц1 ц2 ц3 д

И коначно од Басх Ништа могуће је повећати вредности.

$ ецхо {0..20..2} 0 2 4 6 8 10 12 14 16 18 20

Ово је све за данас, па хвала што сте ме прочитали 🙂

Ектра

Како направити локалну канту

Кад кажем а bin лоцал мислим на директоријум у којем имамо своје скрипте и могуће их је извршити као једноставну наредбу ...

То је релативно лако постићи, прва ствар коју треба урадити је стварање директоријума у ​​који ћемо сачувати скрипте.

мкдир ~ / .бин # У овом примеру ће бити скривен

Сада имамо нашу фасциклу за спремање скрипти, али она неће радити док не додамо путању новог .бин у $ ПАТХ
Због тога се датотека уређује басх_профиле, и додаје се ред.

извози ПАТХ = $ ПАТХ: ~ / .бин

А воила је то довољно за стварање локалне канте, наравно да ће затражити роот дозволе ако је потребно, за пример напишемо брзу скрипту.

#! / бин / басх ецхо "Здраво $ 1, како си?"

Сачувајте га са именом здраво
Скрипту је дато одобрење за извршење и биће довољно само да је позове с терминала

$ хелло вада #Ово ће приказати поруку Здраво вада, како си?

Тако помоћу овог брзог трика можете брже покретати своје скрипте

То је све за данашње људе који су добро 🙂
ПС Извините на грешкама, ако их има, очи ми се већ затварају хахаха 😀


Оставите свој коментар

Ваша емаил адреса неће бити објављена. Обавезна поља су означена са *

*

*

  1. За податке одговоран: Мигуел Ангел Гатон
  2. Сврха података: Контрола нежељене поште, управљање коментарима.
  3. Легитимација: Ваш пристанак
  4. Комуникација података: Подаци се неће преносити трећим лицима, осим по законској обавези.
  5. Похрана података: База података коју хостује Оццентус Нетворкс (ЕУ)
  6. Права: У било ком тренутку можете ограничити, опоравити и избрисати своје податке.

  1.   дхунтер дијо

    Дуго сам у басх издању и нисам разумео ово проширење апаратића, хвала.

    У вези са триком путање, Федора подразумевано ради овако нешто, али у „~ / .лоцал / бин“ погледајте исечак из басх_профиле који сам донео Јессие.

    ПУТ = $ ПУТ: $ ХОМЕ / .лоцал / бин: $ ХОМЕ / бин
    извоз ПУТ

    1.    Рикардо дијо

      Имам неке недоумице:
      1. Како да га натерам да ми да два интервала са проширењем тачке; старости {1..24,55..90} и да проширим узраст са 1 на 24 и настављам са 55 на деведесет. као што сам учинио није успело. Зашто?

      2. Ако желим да прва вредност буде нула и наставим са нумерацијом:
      вгет: http://manga.favorito /слика http://manga.favorito/imagen1
      Покушао сам на следећи начин, али вгет није добио: http://manga.favorito/imagen{, 1..42} По мени, прво име бих морао да оставим без броја и да наставим са нумерацијом од 1 до 42, али није било тако. Зашто?

    2.    Вада дијо

      У праву си да неки дистро-и имају или имају .бин, али то је тако да сви могу да разумеју и виде да је то могуће у било ком дистро-у: Д, хвала што си свратио.

  2.   демо дијо

    Врло добро, врло добро за овај допринос знања свету Линук-а и његовој сигурности, надам се да ћу у петак моћи прочитати како форматирати клатно у терминалу и снимити исо ДВД / ЦД слику било ког слободног система на терминалу.

    1.    Вада дијо

      Хвала на твојим речима брате 😀 Обећавам да ћу следећег петка урадити тај пост. И морам да кажем једно о прилагођавању Вима, хахаха, али нисам желео да мисле да ће то обухваћати само Вима.

  3.   едоардо_ор дијо

    Одличан чланак о терминалу, најбољи који сам већ дуго читао, рачунајући неколико блогова који објављују туторијале овог стила. Хвала пуно!!

    1.    Вада дијо

      Пуно вам хвала 😀 Трудићу се да наставим.

  4.   јуанли дијо

    Одличан савет локалне канте!
    Поздрав!

    1.    Вада дијо

      Одлично, сјајно што вам је корисно, пуно вам хвала што сте положили брата 😀

  5.   Гискард дијо

    Врло добар! Немам појма о овоме. Хвала 🙂

    1.    Вада дијо

      Нема на чему, брате, хвала ти што си одвојио време за читање 😀

  6.   Рикардо дијо

    Имам неке недоумице:
    1. Како да га натерам да ми да два интервала са проширењем тачке; старости {1..24,55..90} и да проширим узраст са 1 на 24 и настављам са 55 на деведесет. као што сам учинио није успело. Зашто?

    2. Ако желим да прва вредност буде нула и наставим са нумерацијом:
    вгет: http://manga.favorito/imagen http://manga.favorito/imagen1

    Покушао сам на следећи начин, али вгет није добио: http://manga.favorito/imagen{, 1..42} По мени, прво име бих морао да оставим без броја и да наставим са нумерацијом од 1 до 42, али није било тако. Зашто?
    * Извините, али први пост сам ставио као одговор и у неким деловима је био погрешан

    1.    Вада дијо

      1.- Ваша логика је погрешна, морате је угнездити хахаха покушајте $ echo {{1..24},{55..90}}

      2.- Исто као и претходни ... $ echo "URL"{,{1..42}}

      Не брини брате, овде смо да нам помогнемо 🙂

  7.   јвк85321 дијо

    Да замените фор ехом, то би изгледало овако

    ецхо "Ми нумбер" {1..5} $ '\ н' | сед -е: а -е '$! Н; с / \ н / \ н /; та' | сед -е: а -е '$! Н; с / 5 \ н / 5 /; та'

    али више волим принтф

    принтф "Ја, Ја% д \ н" {1..5}

    и користите исти концепт проширења кључа

    Атте
    јвк85321

    1.    јвк85321 дијо

      Како се стављају прикључне кутије ????

      Атте
      јвк85321

  8.   јвк85321 дијо

    Тестирање да ли кодна ознака ради
    јеје

    Да замените фор ехом, то би изгледало овако

    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}

    и користите исти концепт проширења кључа

    Атте
    јвк85321

    1.    јвк85321 дијо

      Остало ми је неколико грешака, али успело је

      Живим малуцо

      Извини на сметњи

      Атте
      јвк85321

      1.    Вада дијо

        Хахаха и сами сте одговорили али ако је између етикета нема простора ...

        А на замени фор није потребно радити толико цеви хахахаха довољно са:
        echo -e "Mi numero "{1..5}"\n\b"

        Искрено говорећи, принтф је најбољи начин за штампање текста у скриптама, он је преносивији, али традиционално користи ехо.

      2.    Вада дијо

        Узимам просторе! хахахахаха

        да видимо сада 😀

      3.    Вада дијо

        Јеботе, то је "мање од" кода "веће од" "мање од" / код "веће од" хахахаха

      4.    јвк85321 дијо

        Проблем који одјекује -е није стандардан, па не ради на свим системима.

        Такође излази неуредно
        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:~$

        Мислим да други боље представља резултат, хахаха

        Атте
        јвк85321

      5.    јвк85321 дијо

        Ове етикете су само смета, хајде да видимо да ли ће сада успети
        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:~$

        Мислим да други боље представља резултат, хахаха
        Атте
        јвк85321

      6.    јвк85321 дијо

        У сваком случају, оставите размаке између редова, зато мрзим хтмл, хахахаха

  9.   Јоакуин дијо

    Одлицно! Пљешћем ти ногама хаха

    Нисам знао да се кључеви могу угнездити, јер никада нисам ни покушао да их користим, то заиста штеди много кода, а такође је и читљивије на овај начин. Хвала вам!

    1.    Вада дијо

      Хвала вам што сте прошли брата, драго ми је што је било корисно

      1.    Јоакуин дијо

        Нема на чему, зато смо овде да делимо и доприносимо идејама. Не знам како да програмирам, само сам урадио неколико ствари у Басху и објавио неке скрипте које сам урадио у два поста. Мислим да сазнање о овоме може олакшати разумевање кода.