GNU/Linux >> Belajar Linux >  >> Linux

Basa'?

Jawaban di Security StackExchange ini menggunakan sintaks bash yang menarik untuk menghasilkan file sebaris:

openssl req -new -x509 -nodes -newkey ec:<(openssl ecparam -name secp384r1) -keyout cert.key -out cert.crt -days 3650

Bagian ini sangat menarik:

<(openssl ecparam -name secp384r1)

Hanya berjalan:

echo <(openssl ecparam -name secp384r1)

Saya mendapatkan kembali /dev/fd/63

Jadi ini sepertinya membuat deskriptor file sementara dengan isi file.

Apa ini namanya?

Jawaban yang Diterima:

Ini disebut substitusi proses dan merupakan fitur bash, zsh dan ksh (dan mungkin yang lain, saya tidak tahu). Ini bukan POSIX dan Anda tidak boleh menggunakannya dalam kode portabel, tetapi ini sangat berguna.

Inilah bagian yang relevan dari manual bash:

3.5.6 Proses Substitusi

Substitusi proses didukung pada sistem yang mendukung pipa bernama
(FIFOs) atau metode /dev/fd untuk menamai file yang terbuka. Bentuknya
dari

  <(list) 

atau

  >(list) 

Daftar proses dijalankan dengan input atau output yang terhubung ke FIFO atau beberapa file di /dev/fd. Nama file ini diteruskan sebagai argumen
ke perintah saat ini sebagai hasil dari perluasan.
Jika formulir>(daftar) digunakan, penulisan ke file akan memberikan masukan untuk daftar. Jika formulir <(daftar) digunakan, file yang diteruskan sebagai argumen harus
dibaca untuk mendapatkan keluaran daftar. Perhatikan bahwa tidak ada spasi yang mungkin muncul
di antara dan tanda kurung kiri, jika tidak, konstruksi
akan ditafsirkan sebagai pengalihan.

Jika tersedia, proses substitusi dilakukan secara bersamaan dengan
ekspansi parameter dan variabel, substitusi perintah, dan ekspansi aritmatika
.


Linux
  1. Mengapa Skrip Bash Tidak Mengenal Alias?

  2. Apakah Mv Atomic Di Fs?

  3. Tampilan Lengkap Di Mana Variabel Path Diatur Di Bash?

  1. Bash Script Untuk Menghapus File Terlama Dari Folder A?

  2. Bagaimana Cara Mendaftar File Termuda N (tanpa Parsing Ls!)?

  3. Cetak file, lewati baris X pertama, di Bash

  1. Bagaimana cara mendaftar ukuran setiap file dan direktori dan mengurutkan berdasarkan ukuran menurun di Bash?

  2. Bagaimana cara mendapatkan direktori absolut dari sebuah file di bash?

  3. Skrip Bash untuk menghapus file terlama dari folder