Perintah Linux

Perintah evaluasi bash

Perintah evaluasi bash
Perintah 'eval' digunakan di bash untuk mengeksekusi argumen seperti perintah shell. Argumen digabungkan dalam string dan diambil sebagai input untuk perintah shell untuk menjalankan perintah. 'eval' mengeksekusi perintah di shell saat ini. Perintah ini berguna ketika diperlukan untuk menjalankan perintah apa pun yang berisi operator khusus atau kata kunci yang dicadangkan. Perintah ini dapat digunakan dalam skrip apa pun juga di mana nama variabel tidak diketahui hingga skrip dijalankan. Tutorial ini akan membantu pengguna Linux untuk mempelajari penggunaan perintah ini.

Sintaksis:

eval [argumen…]

Di sini, argumen diuraikan dan digabungkan menjadi string yang akan dieksekusi oleh shell. 'eval' mengembalikan kode status keluar setelah menjalankan perintah. 'eval' mengembalikan 0 sebagai kode status keluar jika tidak ada argumen yang diberikan atau hanya argumen nol yang diberikan.

Contoh-1: Jalankan perintah 'wc' menggunakan 'eval'

Misalkan sebuah file teks bernama “departemen.txt” berisi teks berikut. Jumlah baris file dapat dihitung dengan perintah 'wc'.

departemen.txt

MTK
EEE
ET
INGGRIS
BBA
FARMASI

Perintah berikut akan menyimpan perintah 'wc' untuk menghitung jumlah baris total file, departemen.txt ke variabel, $mycommand.

$ mycommand="wc -l departemen.txt"

Perintah 'eval' berikut akan menjalankan perintah 'wc' dan mencetak jumlah baris.

$ eval $perintah saya

Keluaran:

Outputnya menunjukkan bahwa departemen.txt file memiliki 6 baris.

Contoh-2: Jalankan perintah 'expr' menggunakan 'eval'

Buat file bash bernama evaluasi.SH dan tambahkan skrip berikut. Script ini akan menetapkan dua nilai integer ke dalam variabel $x dan $y. Perintah 'expr' dan 'echo' ditetapkan ke dalam dua variabel, $c1 dan $c2 yang kemudian dieksekusi dengan menggunakan perintah 'eval'.

evaluasi.SH

#!/bin/bash
#Inisialisasi variabel x dan y
x=5
y=15
#Variabel perintah pertama digunakan untuk menetapkan perintah 'expr' untuk menambahkan nilai $x dan $y
c1="'expr $x + $y'"
#Variabel perintah kedua digunakan untuk menetapkan perintah 'echo'
c2="gema"
#'eval' akan menghitung dan mencetak jumlah $x dan $y dengan menjalankan perintah $c1
dan variabel $c2
evaluasi $c2 $c1

Jalankan skrip.

$ bash evaluasi.SH

Jumlah 5 dan 15 adalah 20 yang ditunjukkan pada output.

Contoh-3: Cetak nilai variabel yang ditetapkan dalam variabel lain

Buat skrip bash bernama evaltest2.sh dengan skrip berikut:. Di sini, satu variabel digunakan untuk menetapkan nama variabel lain yang berisi data string. Perintah 'eval' akan mencetak nilai variabel yang berisi nama variabel lain sebagai konten.

evaluasi2.SH

#!/bin/bash
# Tetapkan nilai string ke dalam variabel, $str1
str1="Skrip Shell"
# Tetapkan nama variabel, “str1” ke variabel $str2
str2=str1
#Simpan perintah ke dalam variabel, $command
perintah = "gema"
# Perintah 'eval' akan menjalankan perintah 'echo' dan mencetak nilai variabel
yang berisi variabel lain
eval $perintah \$$str2

Jalankan skrip.

$ bash evaluasi tes2.SH

Nilai variabel, $str1 dicetak is.

Ada cara lain untuk mengakses nilai variabel yang namanya adalah nilai variabel lain. Menggunakan '!' simbol nilai variabel jenis ini dapat diakses. Perintah berikut dapat digunakan sebagai alternatif dari skrip sebelumnya dan hasilnya akan sama:.

$str1="Skrip Cangkang"; str2=str1; perintah = "gema"; eval $perintah $!str2

Contoh-4: Buat serangkaian variabel dengan nilai dan hitung jumlah nilai menggunakan perintah 'eval'

Buat skrip bash bernama evaltest3.sh dan tambahkan skrip berikut. Skrip ini akan membuat serangkaian variabel dan menyimpan nilainya ke dalam variabel menggunakan perintah 'eval'. Nilai dari variabel akan ditambahkan dan disimpan ke dalam variabel bernama $sum. Selanjutnya, perintah 'echo' dengan nilai string ditetapkan ke dalam variabel yang digunakan dalam perintah 'eval' untuk mencetak nilai variabel $sum.

evaluasi3.SH

#!/bin/bash
# Inisialisasi variabel $sum dengan nilai 0
jumlah = 0
# Deklarasikan for loop yang akan diulang sebanyak 4 kali
untuk n dalam 1… 4
melakukan
# Buat empat variabel menggunakan perintah eval
evaluasi x$n=$n
# Tambahkan nilai variabel dengan $sum
jumlah=$(($jumlah+$x$n))
selesai
# Tetapkan perintah 'echo' dengan string ke dalam variabel
command="echo 'Hasil penjumlahan='"
# Perintah 'eval' mencetak nilai penjumlahan menggunakan variabel
eval $perintah $sum

Jalankan skrip.

$ bash evaluasi 3.SH

Jumlah keempat variabel adalah, 1+2+3+4=10 yang tercetak.

Contoh-5: Menggunakan perintah 'eval' untuk menghapus daftar file

Buat file bash bernama evaltest4.sh dengan skrip berikut:. Skrip ini akan membaca tiga argumen baris perintah sebagai nama file yang akan dihapus dan menyimpan nilai argumen ke dalam variabel array, $fn. Perintah 'rm' disimpan dalam variabel, $command. Untuk loop dideklarasikan di sini untuk mengambil setiap nama file dan menghapus file menggunakan perintah 'eval' jika file tersebut ada.

evaluasi4.SH

#!/bin/bash
#Deklarasikan sebuah array
nyatakan -A fn
# Baca tiga argumen baris perintah dan simpan ke dalam tiga indeks array
fn[0]=$1
fn[1]=$2
fn[2]=$3
# Simpan perintah hapus ke dalam variabel
perintah = "rm"
# for loop akan mengulangi tiga kali untuk membaca tiga elemen array
untuk indeks dalam 0 1 2
melakukan
# Periksa file ada atau tidak ada
if [[ -f $fn[$indeks] ]]; kemudian
# jika file tersebut ada maka hapus file tersebut
eval $command $fn[$index]
# Beri tahu pengguna bahwa file tersebut dihapus
echo "$fn[$index] dihapus."
Lain
#Informasikan kepada pengguna bahwa file tersebut tidak ada
echo "$fn[$index] tidak ada."
fi
selesai

Jalankan skrip.

$ bash evaluasi4.tanda sh.barang docx.produk txt.dok

Di sini, tiga nama file disediakan pada saat menjalankan skrip. Outputnya menunjukkan bahwa tanda.docx dan produk.docx ada di lokasi saat ini dan file dihapus dan, item.txt tidak ada di lokasi saat ini.

Kesimpulan

Perintah bash apa pun dapat dieksekusi oleh perintah 'eval' dengan mendeklarasikan sebagai string. Perintah 'eval' digunakan dalam tutorial ini untuk menjalankan perintah bash bawaan yang berbeda dan membuat serangkaian variabel. Penggunaan perintah 'eval' akan dihapus untuk pengguna dan mereka akan dapat menggunakan perintah ini untuk berbagai tujuan setelah membaca tutorial ini.

Kontrol & kelola gerakan mouse di antara beberapa monitor di Windows 10
Manajer Mouse Tampilan Ganda memungkinkan Anda mengontrol & mengonfigurasi gerakan mouse di antara beberapa monitor, dengan memperlambat gerakannya di...
WinMouse memungkinkan Anda menyesuaikan & meningkatkan gerakan penunjuk tetikus di PC Windows
Jika Anda ingin meningkatkan fungsi default penunjuk tetikus Anda, gunakan freeware WinMouse. Ini menambahkan lebih banyak fitur untuk membantu Anda m...
Tombol klik kiri mouse tidak berfungsi pada Windows 10
Jika Anda menggunakan mouse khusus dengan laptop, atau komputer desktop, tetapi but tombol klik kiri mouse tidak berfungsi pada Windows 10/8/7 untuk b...