Cara Penggunaan Brace Ekspansi di Linux Bash Shell

May 12, 2025
Linux
Fatmawati Achmad Zaenuri / Shutterstock

ekspansi Brace adalah teknik yang berguna untuk menghasilkan daftar string yang dapat digunakan dalam skrip dan alias dan pada baris perintah Linux. Hemat waktu dan kesalahan menghindari dengan mengetikkan kurang.

brace Ekspansi

Sebelum shell Bash mengeksekusi perintah di jendela terminal atau baris dalam naskah, ia memeriksa apakah perlu untuk melakukan substitusi apapun pada perintah. nama variabel diganti dengan nilai-nilai mereka, alias diganti dengan perintah mereka singkatan sedang untuk, dan perluasan apapun dilakukan. ekspansi Brace merupakan salah satu bentuk ekspansi didukung oleh Bash.

ekspansi Brace tersedia dalam kerang modern, tapi mungkin hilang dari beberapa kerang lama. Jika Anda akan digunakan ekspansi brace di script, pastikan bahwa Anda menjalankan shell bahwa ekspansi mendukung penjepit, seperti Bash:

Kami akan menggunakan Bash untuk contoh kita.

Menghasilkan daftar string mungkin tampak lebih dari kebaruan daripada manfaat, tapi memang menawarkan beberapa fungsi yang dapat menghemat waktu dan keystrokes. Seringkali, hal itu dapat memberikan yang sederhana dan solusi elegan untuk masalah atau kebutuhan.

Ekspansi sederhana

Sebuah ekspansi penjepit yang terkandung antara sepasang kawat gigi “{}”. Ini bisa menjadi daftar item dipisahkan koma atau specifier jangkauan. Spasi tidak diperbolehkan di dalam kurung kecuali Anda sudah dibungkus string dalam tanda kutip “ " . "

Untuk daftar dipisahkan koma, proses ekspansi mengambil setiap elemen pada gilirannya dan lolos ke perintah panggilan. Dalam contoh ini, itu gema yang hanya mencetak mereka di jendela terminal . Perhatikan bahwa koma diabaikan.

 gema {satu, dua, tiga, empat} 

Daftar dapat kata-kata atau angka.

 gema {1,2,3,4} 

Urutan elemen daftar benar-benar sewenang-wenang.

 echo (4,2,3,1) 

Berbagai ekspansi memiliki awal dan karakter ujung terhubung dengan dua periode” .. ”Tanpa spasi. Semua elemen daftar hilang disediakan secara otomatis oleh ekspansi sehingga seluruh rentang dari awal karakter ke karakter akhir dibuat.

Ini akan mencetak angka dari 1 sampai 10.

 gema {1..10} 

penomoran adalah sewenang-wenang. Ini tidak harus mulai dari satu.

 gema {3..12} 

Rentang dapat ditentukan sehingga mereka berjalan mundur. Ini akan menghasilkan daftar dari lima ke satu.

 gema {5..1} 

Rentang dapat mencakup angka negatif.

 gema {4 ..- 4} 

Seperti sebelumnya kami menunjukkan, kisaran memiliki awal dan akhir karakter . Ini tidak harus berupa angka. Hal ini dapat surat.

 gema {q..v} 

Surat-surat dapat berjalan mundur, juga.

 gema {f..a} 

Menggunakan Brace Ekspansi dengan Loops

Anda dapat menggunakan ekspansi penjepit dengan rentang dalam loop di script.

 untuk saya di {3..7}
melakukan
   echo $ i
dilakukan 

rentang ekspansi Brace membiarkan Anda menggunakan karakter sebagai variabel loop.

 untuk saya di {} m..q
melakukan
   echo $ i
dilakukan 

Loop biasanya digunakan dalam skrip, tapi tidak ada yang menghentikan Anda dari mengetik mereka ke dalam baris perintah untuk melihat apa yang akan terjadi.

 untuk saya di {3..7}; melakukan echo $ i; dilakukan 

 untuk saya di {m..q}; melakukan echo $ i; dilakukan 

Concatenating dan Nesting

Dua ekspansi yang berdekatan tidak bertindak secara independen satu demi satu. Mereka beroperasi. Setiap elemen dalam ekspansi pertama bertindak dengan setiap elemen dalam ekspansi kedua.

 gema {q..v} {1..3} 

Ekspansi juga dapat bersarang. Sebuah ekspansi bersarang akan bertindak pada elemen segera mendahuluinya.

 gema {bagian-1, bagian-2 {a, b, c, d}, bagian-3} 

Anda juga dapat ekspansi sarang dengan membuat daftar dipisahkan koma ekspansi jangkauan.

 gema {{5..0}, {1..5}} 

Pembukaan dan Postscript

Anda dapat menempatkan teks sebelum dan sesudah ekspansi brace untuk memiliki teks yang termasuk dalam hasil ekspansi. Teks dimasukkan ke dalam depan ekspansi disebut pembukaan, sedangkan teks ditempatkan di belakang ekspansi brace disebut PostScript.

Perintah ini menggunakan pembukaan.

 echo bab {1..3} 

Contoh ini menggunakan PostScript:

 gema {konten, kertas, bilbiography} .md 

Dan perintah ini menggunakan keduanya.

 echo bab- {1..4} .md 

Memperluas nama file dan direktori

Seperti yang mungkin sudah Anda duga sekarang, salah satu penggunaan utama ekspansi brace adalah membuat nama file dan direktori yang dapat diteruskan ke perintah lain. Kami sudah menggunakannya gema sebagai cara yang mudah untuk melihat dengan tepat apa yang terjadi ketika ekspansi dipicu. Anda dapat mengganti perintah apa pun yang mengambil nama file atau nama direktori sebagai input dan menggunakan ekspansi brace dengannya.

Dengan cepat Buat beberapa file , menggunakan menyentuh :

 sentuh file- {1..4} .txt 
 ls * .txt 

Jika Anda memiliki banyak file dengan nama dasar yang sama tetapi ekstensi file yang berbeda dan Anda ingin melakukan operasi pada subset dari mereka, ekspansi brace dapat membantu. Di sini, kami mengompres subset file yang memiliki "program" sebagai Basename ke file zip yang disebut "Sumber-Code.zip."

Direktori pengembangan berisi banyak file yang akan memiliki Basename yang sama dengan program utama Anda. Biasanya, Anda tidak ingin membuat cadangan atau mendistribusikan file seperti file objek ".o". Ini adalah cara yang rapi untuk hanya menyertakan jenis file yang menarik.

 Program kode sumber zip {.c, .h, .css} 

Perintah ini akan membuat salinan file dan menambahkan ".bak" untuk itu, membuat salinan cadangan file asli. Poin yang menarik untuk dicatat adalah bahwa ekspansi brace berisi daftar yang dipisahkan koma, tetapi elemen pertama kosong. Jika kami tidak memasukkan koma, ekspansi tidak akan terjadi.

 CP brace / new / prog-1.c {,. bak} 
 ls brace / new / prog-1.c.bak 

Untuk melakukan beberapa tindakan pada dua file di direktori yang berbeda, kita dapat menggunakan ekspansi brace di jalur ke file.

Dalam contoh ini, direktori "Brace" berisi dua subdirektori, satu disebut "baru" dan satu yang disebut "lama." Mereka mengandung versi yang berbeda dari set file sumber yang sama. Kami akan menggunakan diff. Program untuk melihat perbedaan antara dua versi "prog-1.c."

 Diff Brace / {New, Old} /prog-1.c 

Jika Anda memiliki kerangka standar direktori yang perlu Anda buat pada awal proyek, Anda dapat membuatnya dengan cepat menggunakan ekspansi brace. NS mkdir. -P Opsi (induk) menciptakan direktori induk yang hilang ketika direktori anak dibuat.

 mkdir -p {sumber, build, man, help {/ halaman, / yelp, / gambar}} 
 Pohon 

Anda dapat menggunakan ekspansi brace dengan wget. ke Unduh beberapa file .

Dalam perintah ini, kita akan mengunduh file dari dua direktori, yang disebut "test1" dan "test2." Setiap direktori menampung dua file yang disebut "Picture1" dan "Picture2."

 wget https://www.url-of-your-choice.com/test{1,2}/picture{001,002}.jpg

Daftar file menunjukkan file yang diambil dan bagaimana wget. Menangkan nama file untuk menghindari bentrokan nama dengan file yang ada.

 ls gambar *. * 

Merangkul brace

Tampaknya ekspansi brace adalah satu lagi Rahasia Tertahankan Linux . Banyak orang mengatakan kepada saya bahwa mereka belum pernah mendengar ekspansi penjepit, sementara yang lain memberi tahu saya bahwa itu adalah salah satu trik baris komando favorit mereka.

Cobalah dan itu mungkin menemukan jalannya ke dalam set trik perintah baris perintah Anda.


Linux - Artikel Terpopuler

Cara Mengelola Linux Server dengan Cockpit Web Interface

Linux Dec 9, 2024

Fatmawati Achmad Zaenuri / Shutterstock Anda dapat dengan mudah memantau dan mengelola beberapa komputer Linux dengan kokpit, administrasi berbasis browser dan..


Cara menginstal desktop sinyal di Linux

Linux Jan 22, 2025

Eliseu Geisler / Shutterstock.com Sinyal adalah aplikasi pesan smartphone yang berfokus pada privasi yang tampaknya digunakan semua orang ..


Cara Mendapatkan Manajer Perangkat Grafis untuk Linux

Linux Mar 17, 2025

Afrika Studio / Shutterstock.com Ada tak berujung Utilitas baris perintah Linux yang menunjukkan detail perangkat keras komputer Anda . Hardinfo men..


Cara Sembunyikan Semua Desktop Ikon pada Mac

Linux Jun 23, 2025

Krisda / Shutterstock. Apakah desktop Mac Anda berantakan? Tidak benar-benar ingin mengatur semuanya? Jangan khawatir, Anda dapat menggunakan perintah terminal..


Apa itu "Root" di Linux?

Linux Jul 7, 2025

Fatmawati Achmad Zaenuri / Shutterstock.com Pengguna root adalah entitas paling kuat di Universe Linux dengan kekuatan tanpa batas, baik atau lebih buruk. Bu..


Laptop Linux terbaik tahun 2021 untuk pengembang dan penggemar

Linux Sep 27, 2025

TOMEQS / Shutterstock.com Apa yang harus dicari dalam Laptop Linux pada tahun 2021 Anda dapat membeli hampir semua laptop dan Instal Linux di..


KDE Connect akhirnya datang ke iPhone

Linux Oct 26, 2025

KDE. Jika Anda mencari cara mudah untuk membuat iPhone Anda bermain bagus dengan Anda KDE Desktop. , hari ini adalah hari keberuntunganmu, sebagai KDE Co..


Cara Perbarui Fedora Linux

Linux Nov 10, 2024

Jadi, Anda akhirnya mengunduh dan menginstal Fedora Linux, tetapi sekarang Anda mungkin bertanya-tanya, bagaimana Anda tetap mendapatkan sistem Anda? Untungnya, Fedora memberi Anda beberap..


Kategori