Cara Menetapkan Output Perintah Linux ke Variabel


Ketika Anda menjalankan suatu perintah, ia menghasilkan semacam keluaran: baik hasil dari suatu program yang seharusnya dihasilkan atau pesan status/kesalahan dari rincian eksekusi program. Terkadang, Anda mungkin ingin menyimpan keluaran perintah dalam variabel untuk digunakan dalam operasi selanjutnya.

Dalam posting ini, kita akan meninjau berbagai cara untuk menetapkan output dari perintah shell ke variabel, yang secara khusus berguna untuk tujuan pembuatan skrip shell.

Untuk menyimpan keluaran suatu perintah dalam suatu variabel, Anda dapat menggunakan fitur substitusi perintah shell pada formulir di bawah ini:

variable_name=$(command)
variable_name=$(command [option ...] arg1 arg2 ...)
OR
variable_name='command'
variable_name='command [option ...] arg1 arg2 ...'

Di bawah ini adalah beberapa contoh penggunaan substitusi perintah.

Dalam contoh pertama ini, kita akan menyimpan nilai perintah who (yang menunjukkan siapa yang login ke sistem) dalam variabel pengguna CURRENT_USERS:

CURRENT_USERS=$(who)

Kemudian kita bisa menggunakan variabel tersebut dalam kalimat yang ditampilkan menggunakan perintah echo seperti:

echo -e "The following users are logged on the system:\n\n $CURRENT_USERS"

Pada perintah di atas: flag -e berarti menginterpretasikan setiap escape sequence (seperti \n untuk baris baru) yang digunakan. Untuk menghindari membuang-buang waktu dan memori, cukup lakukan substitusi perintah dalam perintah echo sebagai berikut:

echo -e "The following users are logged on the system:\n\n $(who)"

Selanjutnya mendemonstrasikan konsep menggunakan bentuk kedua; kita dapat menyimpan jumlah total file dalam direktori kerja saat ini dalam variabel bernama FILES dan echo nanti sebagai berikut:

FILES=`sudo find . -type f -print | wc -l`
echo "There are $FILES in the current working directory."

Itu saja untuk saat ini, dalam artikel ini, kami menjelaskan metode menetapkan output perintah shell ke variabel. Anda dapat menambahkan pemikiran Anda ke posting ini melalui bagian umpan balik di bawah.