Bir komutun çıktısını bir değişkene nasıl atayabilirim?


19

Bir değişkene değer atamanın bir yolu var mı, herhangi bir komut yazarak terminalde elde ettiğimiz değer var mı?

Örnek komut: sensors

Bundan CPU sıcaklığı elde ediyoruz. Bu değeri bir temp_cpudeğişkene nasıl atayabilirim ?


1
Bu soru Süper Kullanıcı veya Unix ve Linux için daha uygundur . Deneyin temp_cpu=$(sensors)(bu yeni satırları boşluklara çevirecektir). İhtiyacınız grepolan belirli bilgileri filtrelemek için de kullanabilirsiniz .
edwin

1
@edwin soru bu yer için neden bu kadar uygun değil?
tshepang

@Tshepang, bu soru Ubuntu'ya özgü değil, sadece Unix benzeri kabuk ile ilgili. Böylece, Unix ve Linux .
edwin

1
Politika / genel görüş değişti mi? Bu sitenin mutlaka Ubuntu'ya özgü olmayan soruları memnuniyetle karşıladığını düşündüm.
tshepang

Yanıtlar:


27

Evet, kullanıyorsunuz my_var=$(some_command). Örneğin:

$ foo=$(date)
$ echo $foo
Mon Jul 22 18:10:24 CLT 2013

Ya da belirli örneğin kullanarak sedve grepistediğiniz belirli verileri almak için:

$ cpu_temp=$(sensors acpitz-virtual-0 | grep '^temp1:' | sed 's/^temp1: *//;s/ .*//')
$ echo $cpu_temp
+39.0°C
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.