Bash'te Komut Çıktısını Değişken Olarak Nasıl Kaydedebilirim? PlatoBlockchain Veri Zekası. Dikey Arama. Ai.

Bash'te Komut Çıktısını Değişken Olarak Kaydetme

Giriş

Bash betiklerinde, bir komutun çıktısını değişkenlere atamak, komutların çıktılarını saklayıp daha sonra kullanmak suretiyle uygun olabilir.

Bu kısa kılavuzda, bir komutun çıktısını Bash'te bir değişken olarak nasıl saklayabileceğinize bir göz atacağız.

Değişkenleri Ayarlamanın Temelleri

Bir komutun çıktısını değişken olarak kaydetmek, komut ikamesi. Komut ikamesi, komutu bir alt kabuk ortamıve sarılmış komutu, komutun çalıştırıldığı ortamın standart çıktısıyla değiştirir. Bu çıktı, bir referans değişkene bağlanırsa daha sonra referans alınabilir!

Komut ikamesi, ters tikler veya parantezli dolar işareti aracılığıyla gerçekleştirilebilir:

`command`

$(command)

olmadığı konusunda tartışmalar var. "komut" (geri tikler) veya $(komut) (dolar işareti ve parantezler) “en iyi uygulama” olarak kullanılmalıdır. $(command) iç içe yerleştirmede iyi çalışır ve bazı durumlarda okunabilirliği artırır, ancak ilerleyen örneklerde her iki söz dizimini de kullanabilirsiniz.

Bununla birlikte, Bash'te bir komutun çıktısını bir değişkene atamak şu kadar kolaydır:

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

Koşu ${variable} olarak bilinir parametre genişletme, ve bir referans değişkeniyle ilişkili değeri değerlendirmek ve getirmek için kullanılır.

Şimdi çıktı rengini değiştirmek için bir komut için bir değişken ayarlamanın basit örneğine bir göz atalım:

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

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

echo "${GREEN}Paris"

Snippet'te, tput komutu ve renkli metin yazdırmak için bu komutların döndürülen değerini atadı. bu setaf ön plan rengini değiştirir ve 3 (yeşil) ve 9 (turuncu) renk kodlarıdır.

Şimdi, farklı komutlar için değişkenler ayarlamak üzere birden çok koşul içeren başka bir örneğe geçeceğiz:

#!/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}"

Yukarıdaki komut dosyasında, whoami komutu geçerli kullanıcının kullanıcı adını döndürür. bu uname -a sistem bilgilerini döndürür ve date geçerli saati ve tarihi döndürür.

Not: Tek bir iç içe çağrıya birden çok komut ekleyerek değişken atamasını zincirleyebiliriz. bu CREATE değişken çıktısını içerir touch sırayla bir dosya oluşturan ve dosya adını çıktıya ayarlayan komut date +"%d%m%Y Komut.

En iyi uygulamalar, endüstri tarafından kabul edilen standartlar ve dahil edilen hile sayfası ile Git'i öğrenmek için uygulamalı, pratik kılavuzumuza göz atın. Googling Git komutlarını durdurun ve aslında öğrenmek o!

Son olarak, bir ekliyoruz multiline ters eğik çizgi ekleyerek komut değişkeni atama kavramı () arasına ls komuta -l kullanarak yalnızca metin dosyalarını görüntülemek için bayrak *.txt. Ters eğik çizgi, kabuğa bir sonraki karakteri yorumlamamasını bildiren bir kaçış karakteridir.

içinde echo komutunu ekledik -e özel karakteri kullanmak için bayrak, yani, n (yeni satır), çıktıyı yeni satırda yazdırmak için.

Komut dosyasını çalıştırdıktan sonra aşağıdaki sonucu alıyoruz:

$ ./variable.sh

Sonuç

Bu kısa kılavuzda, Bash'te bir komutun çıktısını bir değişkene nasıl ayarlayabileceğinize bir göz attık. Söz dizimleri arasındaki farka bir göz attık. komut ikamesi, okunabilirlik iyileştirmelerine dikkat çekerek $(command) backtick tabanlı ikame yerine. Ardından, hem basit atama hem de zincirleme/iç içe çıkış ataması için birkaç örneğe göz attık.

Zaman Damgası:

Den fazla Yığın kötüye kullanımı