Komut Çıktısını Değişkene Nasıl Atarım?

Başlatan tyko, 07 Haziran 2019 - 20:34:01

« önceki - sonraki »

0 Üyeler ve 1 Ziyaretçi konuyu incelemekte.

tyko

Merhaba

~/.bashrc dosyasında aşağıdaki gibi bir sayı saklıyorum.
export QWERTY=2050

QWERTY olarak tanımlanmış sistem değişkenini aşağıdaki OUTPUT değişkene aktarıp yeri geldiğinde yazdırmak veya değişkenin içinde saklı duran değeri işlemek istiyorum.

source ~/.bashrc
OUTPUT=$(printenv QWERTY)
echo "$OUTPUT"


Ancak hiç bir şekilde okuyamıyorum. Yardımcı olabilir misiniz?

gecegezen

çok anlamam ama terminalde denediğimde sadece $ işareti kullandım ve =.gördüğüm kadarı ile export pek gerek yok gibi

recep@MSI-CR61-3M:~$ export qwerty=2050
recep@MSI-CR61-3M:~$ echo qwerty
qwerty
recep@MSI-CR61-3M:~$ echo $qwerty
2050
recep@MSI-CR61-3M:~$ OUTPUT=$qwerty
recep@MSI-CR61-3M:~$ echo $OUTPUT
2050

Yotube kanalım hepinizi beklerim...
https://www.youtube.com/channel/UCsRQPZxNJKZbfpGy6r97nJw

tyko

Sistem değişkeni olarak tutuyorum export yapmama gerek yok zaten yapmıyorum.
Dediğiniz gibi bu komutlar terminalde çalışıyor fakat script üzerinde çalışmıyor bende bunu çözemedim.

Empat

[mention=646864]@tyko[/mention]
Script halini atarsanız bir de ben denemek isterim.

Her ne kadar Bash bilgim temel düzey (beginner) olsa da bir çözüme ulaşabilirim belki.
Everything for me is just Peace - Love - Coding. Also, as they say: I am a programmer, I have no life!

tyko

[mention=646866]@Empat[/mention] kodların diğer kısmı önemli değil konuda bahsettiğim yer betiğin ilk komutu. Orası hariç her yeri çalışıyor.

Sonuç:
Betik algoritmasını değiştirdim. Bu kodu kullanmadan çözüme ulaştım. Ancak konudaki yöntemi halen merak etmekteyim.

Empat

[mention=646881]@tyko[/mention]
Çözüme nasıl ulaştığınızı ve çözümü anlatabilir misiniz?

Sorununuz çözüldüyse, konu başlığınızı "[ÇÖZÜLDÜ]" olarak işaretleyin lütfen.

"[ÇÖZÜLDÜ]" işaretlemesini nasıl yapacağınızı bilmiyorsanız buraya tıklayarak, "[ÇÖZÜLDÜ]" olarak işaretlemeyi öğrenebileceğiniz makaleye gidebilirsiniz.
Everything for me is just Peace - Love - Coding. Also, as they say: I am a programmer, I have no life!

tyko

Alıntı yapılan: Empat - 08 Haziran 2019 - 11:41:44
[mention=646881]@tyko[/mention]
Çözüme nasıl ulaştığınızı ve çözümü anlatabilir misiniz?

Sorununuz çözüldüyse, konu başlığınızı "[ÇÖZÜLDÜ]" olarak işaretleyin lütfen.

"[ÇÖZÜLDÜ]" işaretlemesini nasıl yapacağınızı bilmiyorsanız buraya tıklayarak, "[ÇÖZÜLDÜ]" olarak işaretlemeyi öğrenebileceğiniz makaleye gidebilirsiniz.

Sorunum halen devam etmekte, çözemediğim için betikte o ve ona benzer komutları kaldırdım.

mimiksiz

source ~/.bashrc
OUTPUT=$(echo  $QWERTY)
echo "$OUTPUT"

şeklinde denediniz mi?

programmer

Bash versiyonunuz nedir? Eskiden şöyle yazardık.

OUTPUT=`printenv QWERTY`
Şimdi `(..)` yerine $ oluyor. Her iki türlü çalıyor. Hem printenv hem echo ile.

Empat

#9
Alıntı YapOUTPUT=$(echo  $QWERTY)
Bu çok mantıklı. Aklıma şu komut geldi.
apt install linux-headers-$(uname -r)

Bu şekilde komut sonucundaki çıktıyı paket adını tamamlamak için kullanabiliyoruz.

Bu mantıkla komut sonucundaki çıktıyı değişkene aktarabiliriz.

Tabii ki Bash dilinin bu durumu geçersiz kılacak bir kuralı yoksa...
Everything for me is just Peace - Love - Coding. Also, as they say: I am a programmer, I have no life!

Empat

Sorunuz veya sorularınız sonucunda size dilediğiniz bilgiler verildiyse, forum düzeninin sürdürülebilirliğine katkı sağlamak için, konu başlığınızı [Çözüldü] olarak işaretlemenizi rica ediyoruz.

Başka bir sorunun yanıtını bulamazsanız ya da bir sorunla karşılaşırsanız, yeni bir konu açabilirsiniz.

İyi forumlar.
Everything for me is just Peace - Love - Coding. Also, as they say: I am a programmer, I have no life!