Terminal Jumaat: Bash [Perluasan Kunci]

Pertama sekali saya ingin meminta maaf, kerana pada hari Jumaat yang lalu saya tidak dapat menulis catatan itu sehingga hari ini saya akan menambahkan tambahan untuk menebus hari yang hilang. 🙂

Pengembangan Brace

Dalam bahasa Sepanyol, pengembangan penting menurut saya merupakan fungsi yang diilhamkan oleh C Cangkang, ini menghasilkan kombinasi antara watak yang dimasukkan ke dalam pendakap, urutan yang digunakannya adalah dari kiri ke kanan. Ia sama sekali tidak rumit, tetapi merupakan pilihan yang akan sangat berguna dalam lawatan GNU / Linux kami.

Contoh:

$ gema a {1,2,3} a1 a2 a3

Apabila digunakan dengan koma (,) menghasilkan kombinasi antara nilai a dan nilai di dalam pendakap. Sekiranya tidak ada nilai di luar kunci, ia hanya akan menunjukkan sekali setiap nilai yang terdapat dalam kunci.

$ echo {a, b, c} abc

Penggunaannya sama sekali tidak rumit, ada contoh lain yang lebih umum seperti membuat banyak direktori dalam folder

$ mkdir ~ / Pekerjaan / {satu, dua, tiga, empat, lima}

Ini membuat lima folder dalam folder pekerjaan, seperti memasukkan satu perintah pada satu masa. Membuat 5 direktori.

Terdapat pengembangan dengan dua mata .. Ini menghasilkan rangkaian nombor atau watak yang bermula dari nilai awal hingga nilai akhir, tidak menggunakan nombor huruf.

$ echo {1..5} #Correct 1 2 3 4 5 $ echo {a..f} #Correct abcdf $ echo {a..5} #Incorrect {a..5} #Saya rasa saya tidak akan pernah dapat digunakan untuk warna biru ini dalam surat

Kita dapat menjimatkan masa dengan membuat kitaran Untuk

# Sebaliknya menulis $ untuk ((i = 1; i <= 5; i ++)); gema "Nombor saya $ i"; selesai Nombor saya 1 Nombor saya 2 Nombor saya 3 Nombor saya 4 Nombor saya 5 #Kami menyimpan kod menggunakan pengembangan pendakap. $ untuk i dalam {1..5}; do echo "Nombor saya $ i; selesai Nombor saya 1 Nombor saya 2 Nombor saya 3 Nombor saya 4 Nombor saya 5 #Tentu saja ia sah digunakan walaupun outputnya berbeza. $ echo" Nombor saya "{1..5} Nombor saya 1 Nombor saya 2 Nombor saya 3 Nombor saya 4 Nombor saya 5

Saya rasa konsepnya jelas, haha ​​sekarang saya hanya akan mengulas bahawa ia boleh digabungkan dan bersarang. Apa maksud saya dengan ini?
Dengan gabungan yang mana kita boleh menggabungkan satu atau lebih kunci

$ gema {a..c} {1..3} a1 a2 a3 b1 b2 b3 c1 c2 c3

Dengan bersarang seperti yang dibayangkan oleh banyak orang, anda boleh menggunakan kunci pengembangan di dalam kunci pengembangan

$ echo {a, c {1..3}, d} a c1 c2 c3 d

Dan akhirnya dari Pukulan 4 adalah mungkin untuk meningkatkan nilai.

$ gema {0..20..2} 0 2 4 6 8 10 12 14 16 18 20

Ini semua untuk hari ini, jadi terima kasih kerana membaca saya orang 🙂

tambahan

Cara membuat tong tempatan

Apabila saya mengatakan a bin local Saya bermaksud direktori di mana kita mempunyai skrip kita sendiri dan mungkin untuk melaksanakannya sebagai perintah mudah ...

Mencapai ini agak mudah, perkara pertama yang perlu anda lakukan ialah membuat direktori di mana kami akan menyimpan skrip.

mkdir ~ / .bin # Dalam contoh ini, ia akan disembunyikan

Sekarang kita mempunyai folder untuk menyimpan skrip tetapi ia tidak akan berfungsi sehingga kita menambah jalan .bin baru ke $ PATH
Untuk ini fail disunting bash_profile, dan baris ditambah.

eksport PATH = $ PATH: ~ / .bin

Dan voila yang cukup untuk membuat tong tempatan, tentu ia akan meminta izin root jika perlu untuk contoh kita menulis skrip cepat.

#! / bin / bash echo "Hai $ 1, apa khabar?"

Simpan dengan nama hello
Skrip diberi kebenaran pelaksanaan dan hanya cukup untuk memanggilnya dari terminal

$ hello wada # Ini akan menunjukkan mesej Hello wada, apa khabar?

Oleh itu dengan helah cepat ini anda dapat menjalankan skrip anda dengan lebih pantas

Itu sahaja untuk hari ini orang yang sihat 🙂
PS Maaf atas kesilapan, jika ada, mata saya sudah tertutup hahaha 😀


Tinggalkan komen anda

Alamat email anda tidak akan disiarkan. Ruangan yang diperlukan ditanda dengan *

*

*

  1. Bertanggungjawab atas data: Miguel Ángel Gatón
  2. Tujuan data: Mengendalikan SPAM, pengurusan komen.
  3. Perundangan: Persetujuan anda
  4. Komunikasi data: Data tidak akan disampaikan kepada pihak ketiga kecuali dengan kewajiban hukum.
  5. Penyimpanan data: Pangkalan data yang dihoskan oleh Occentus Networks (EU)
  6. Hak: Pada bila-bila masa anda boleh menghadkan, memulihkan dan menghapus maklumat anda.

  1.   penipu kata

    Saya telah berada dalam masalah bash sejak sekian lama dan saya tidak memahami pengembangan penjelasan ini, terima kasih.

    Mengenai tipu muslihat, Fedora secara lalai melakukan sesuatu seperti ini tetapi dalam "~ / .local / bin", lihatlah potongan bash_profile yang saya bawa kepada Jessie.

    PATH = $ PATH: $ HOME / .local / bin: $ HOME / tong sampah
    eksport PATH

    1.    Ricardo kata

      Saya mempunyai beberapa kebimbangan:
      1. Bagaimana saya membuatnya dapat memberi saya dua selang dengan pengembangan mengikut mata; berumur {1..24,55..90} dan saya memperluas usia dari 1 hingga 24 dan meneruskan usia 55 hingga XNUMX tahun. seperti yang saya lakukan ia tidak berjaya. Kenapa?

      2. Sekiranya saya mahu nilai pertama menjadi nol dan teruskan penomboran:
      wget: http://manga.favorito /gambar http://manga.favorito/imagen1
      Saya mencuba cara berikut tetapi wget tidak berjaya: http://manga.favorito/imagen{, 1..42} Menurut saya, saya mesti meninggalkan nama depan tanpa nombor dan meneruskan penomboran dari 1 hingga 42 tetapi tidak seperti itu. Kenapa?

    2.    Wada kata

      Anda betul beberapa distro mempunyai atau mempunyai tong sampah tetapi semua orang dapat memahami dan melihat bahawa mungkin dilakukan di mana-mana distro: D, Terima kasih kerana mampir.

  2.   demo kata

    Sangat baik sangat baik untuk sumbangan pengetahuan ini kepada dunia linux dan keselamatannya, pada hari Jumaat, saya harap saya dapat membaca cara memformat pendrive di terminal dan membakar imej DVD / CD iso dari mana-mana sistem percuma di terminal.

    1.    Wada kata

      Terima kasih atas kata-kata saudara 😀 Saya berjanji bahawa Jumaat depan saya akan membuat jawatan itu. Dan saya mesti memperibadikan Vim hahaha tetapi saya tidak mahu mereka fikir ia hanya akan merangkumi Vim.

  3.   edoardo_or kata

    Artikel terminal yang sangat baik, yang terbaik yang telah saya baca dalam masa yang lama, mengira beberapa blog yang menerbitkan tutorial gaya ini. Terima kasih banyak-banyak!!

    1.    Wada kata

      Terima kasih banyak 😀 Saya akan cuba mengikuti.

  4.   juanli kata

    Petua tong tempatan yang sangat baik!
    Salam!

    1.    Wada kata

      Hebat, bagus bahawa ia berguna untuk anda, terima kasih banyak kerana telah meninggal saudara 😀

  5.   giskard kata

    Sangat bagus! Tidak ada idea mengenai perkara ini. Terima kasih 🙂

    1.    Wada kata

      Anda dipersilakan saudara terima kasih kerana meluangkan masa untuk membacanya 😀

  6.   Ricardo kata

    Saya mempunyai beberapa kebimbangan:
    1. Bagaimana saya membuatnya dapat memberi saya dua selang dengan pengembangan mengikut mata; berumur {1..24,55..90} dan saya memperluas usia dari 1 hingga 24 dan meneruskan usia 55 hingga XNUMX tahun. seperti yang saya lakukan ia tidak berjaya. Kenapa?

    2. Sekiranya saya mahu nilai pertama menjadi nol dan teruskan penomboran:
    wget: http://manga.favorito/imagen http://manga.favorito/imagen1

    Saya mencuba cara berikut tetapi wget tidak berjaya: http://manga.favorito/imagen{, 1..42} Menurut saya, saya mesti meninggalkan nama depan tanpa nombor dan meneruskan penomboran dari 1 hingga 42 tetapi tidak seperti itu. Kenapa?
    * Maaf tetapi saya meletakkan catatan pertama sebagai jawapan dan ia salah di beberapa bahagian

    1.    Wada kata

      1.- Logik anda salah anda harus bersarang hahaha cubalah $ echo {{1..24},{55..90}}

      2.- Sama seperti yang sebelumnya ... $ echo "URL"{,{1..42}}

      Jangan risau saudara, kami di sini untuk menolong kami 🙂

  7.   jvk85321 kata

    Untuk menggantikannya dengan gema, ia akan kelihatan seperti ini

    gema "Nombor saya" {1..5} $ '\ n' | sed -e: a -e '$! N; s / \ n / \ n /; ta' | sed -e: a -e '$! n; s / 5 \ n / 5 /; ta'

    tapi saya lebih suka printf

    printf "I, I% d \ n" {1..5}

    dan menggunakan konsep pengembangan utama yang sama

    atte
    jvk85321

    1.    jvk85321 kata

      Bagaimana anda meletakkan kotak terminal ????

      atte
      jvk85321

  8.   jvk85321 kata

    Menguji sama ada tanda kod berfungsi
    hehe

    Untuk menggantikannya dengan gema, ia akan kelihatan seperti ini

    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}

    dan menggunakan konsep pengembangan utama yang sama

    atte
    jvk85321

    1.    jvk85321 kata

      Saya tinggal dengan beberapa pepijat tetapi berjaya

      Saya maluco hidup

      Maaf mengganggu

      atte
      jvk85321

      1.    Wada kata

        Hahaha awak jawab sendiri tapi kalau ada di antara label tiada ruang ...

        Dan untuk penggantian untuk tidak perlu melakukan banyak paip hahahaha cukup dengan:
        echo -e "Mi numero "{1..5}"\n\b"

        Sejujurnya printf adalah kaedah terbaik untuk mencetak teks dalam skrip, ia lebih mudah alih tetapi secara tradisional menggunakan gema.

      2.    Wada kata

        Saya mengambil ruang! hahahahaha

        jom lihat sekarang 😀

      3.    Wada kata

        Fuck itu "kurang daripada" kod "lebih besar daripada" "kurang daripada" / kod "lebih besar daripada" hahahaha

      4.    jvk85321 kata

        Masalah yang echo -e tidak biasa, jadi ia tidak berfungsi pada semua sistem.

        Juga keluar tidak kemas
        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:~$
        Dan dengan ini
        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:~$

        Saya rasa yang kedua membentangkan hasilnya dengan lebih baik, hahaha

        atte
        jvk85321

      5.    jvk85321 kata

        Label-label ini sangat menyedihkan, hehehe, mari kita lihat sama ada ia berfungsi sekarang
        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:~$

        Dan dengan ini
        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:~$

        Saya rasa yang kedua membentangkan hasilnya dengan lebih baik, hahaha
        atte
        jvk85321

      6.    jvk85321 kata

        Bagaimanapun, tinggalkan jarak antara garis, itulah sebabnya saya benci html, hahahaha

  9.   Joaquin kata

    Hebat! Saya tepuk tangan haha

    Saya tidak tahu bahawa kunci boleh bersarang, kerana saya tidak pernah mencuba menggunakannya, ia sangat menjimatkan kod dan ia juga lebih mudah dibaca dengan cara ini. Terima kasih!

    1.    Wada kata

      Terima kasih untuk saudara yang meninggal, saya gembira ia berguna

      1.    Joaquin kata

        Anda dialu-alukan, itulah tujuan kami untuk berkongsi dan menyumbang idea. Saya tidak tahu bagaimana program, saya hanya melakukan beberapa perkara di Bash dan saya menerbitkan dalam dua catatan beberapa skrip yang saya buat. Saya rasa mengetahui perkara ini dapat menjadikan kod lebih mudah difahami.