Bagaimana Cara Menyimpan Output Perintah sebagai Variabel di Bash? Kecerdasan Data PlatoBlockchain. Pencarian Vertikal. Ai.

Bagaimana Cara Menyimpan Output Perintah sebagai Variabel di Bash?

Pengantar

Dalam skrip bash, menetapkan output dari perintah ke variabel dapat dilakukan dengan menyimpan output dari perintah dan menggunakannya nanti.

Dalam panduan singkat ini, kita akan melihat bagaimana Anda dapat menyimpan output dari sebuah perintah sebagai variabel di Bash.

Dasar-dasar Untuk Mengatur Variabel

Menyimpan output dari perintah sebagai variabel dicapai melalui substitusi perintah. Substitusi perintah adalah pembungkus yang mengeksekusi perintah dalam a lingkungan subkulit, dan mengganti perintah yang dibungkus dengan output standar dari lingkungan tempat perintah dijalankan. Output ini kemudian dapat direferensikan nanti, jika terhubung ke variabel referensi!

Substitusi perintah dapat dicapai melalui backticks atau tanda dolar dengan tanda kurung:

`command`

$(command)

Ada perdebatan tentang apakah `perintah` (backtick) atau $(perintah) (tanda dolar dan tanda kurung) harus digunakan sebagai โ€œpraktik terbaikโ€. $(command) bekerja dengan baik dalam bersarang, dan meningkatkan keterbacaan dalam beberapa kasus, tetapi Anda dapat menggunakan salah satu sintaks dalam contoh selanjutnya.

Yang sedang berkata - menetapkan output dari perintah ke variabel di Bash semudah:

VARIABLE=$(command)
echo "${VARIABLE}"

Running ${variable} dikenal sebagai ekspansi parameter, dan digunakan untuk mengevaluasi dan mengambil nilai yang terkait dengan variabel referensi.

Sekarang mari kita lihat contoh sederhana penyiapan variabel untuk perintah untuk mengubah warna output:

#!/bin/bash
GREEN=$(tput setaf 2)
echo "${GREEN}Please"

ORANGE=$(tput setaf 9)
echo "${ORANGE}Visit"

echo "${GREEN}Paris"

Dalam cuplikan, kami telah menggunakan tput perintah dan menetapkan nilai yang dikembalikan dari perintah tersebut untuk mencetak teks berwarna. Itu setaf mengubah warna latar depan, dan 3 (hijau) dan 9 (oranye) adalah kode warna.

Sekarang kita akan beralih ke contoh lain yang berisi beberapa kondisi untuk mengatur variabel untuk perintah yang berbeda:

#!/bin/bash
PERSON=$(whoami)
echo -e "Hey ${PERSON}! I am Charlien"

DETAILS=$(uname -a)
echo -e "You're running this script on:n${DETAILS}n"

DATES=$(date)
echo -e "The script is being run on:n${DATES}n"

CREATE=$(touch $(date +"%d%m%Y").txt)
echo -e "A text file logging this run is created.${CREATE}n"

LOCATION=$(ls 
  -l *txt)
echo -e "Saved text file at: ${LOCATION}"

Dalam skrip di atas, whoami perintah mengembalikan nama pengguna pengguna saat ini. Itu uname -a mengembalikan informasi sistem, dan date mengembalikan waktu dan tanggal saat ini.

Catatan: Kita dapat mengaitkan penetapan variabel dengan menambahkan beberapa perintah dalam satu panggilan bersarang. Itu CREATE variabel berisi output dari touch perintah, yang pada gilirannya membuat file dan menetapkan nama file ke output dari date +"%d%m%Y perintah.

Lihat panduan praktis dan praktis kami untuk mempelajari Git, dengan praktik terbaik, standar yang diterima industri, dan termasuk lembar contekan. Hentikan perintah Googling Git dan sebenarnya belajar itu!

Akhirnya, kami menambahkan multiline konsep penugasan variabel perintah dengan menambahkan garis miring terbalik () antara ls Command -l tandai untuk hanya menampilkan file teks menggunakan *.txt. Garis miring terbalik adalah karakter pelarian yang memberi tahu shell untuk tidak menafsirkan karakter berikutnya.

Dalam majalah echo perintah, kami menambahkan -e bendera untuk menggunakan karakter khusus, yaitu, n (baris baru), untuk mencetak output di baris baru.

Kami mendapatkan hasil berikut setelah menjalankan skrip:

$ ./variable.sh

Kesimpulan

Dalam panduan singkat ini, kami telah melihat bagaimana Anda dapat mengatur output dari sebuah perintah ke variabel di Bash. Kami telah melihat perbedaan antara sintaks untuk substitusi perintah, dengan memperhatikan peningkatan keterbacaan dari $(command) atas substitusi berbasis backtick. Kemudian, kita telah melihat beberapa contoh penugasan sederhana dan penugasan keluaran berantai/bersarang.

Stempel Waktu:

Lebih dari penyalahgunaan