Bash komut satırında, myPath =/home/user/dir değişkenini ayarlıyorum. Ben echo $ myPath koyduğum bir script yarattım ama işe yaramıyor. Hiçbir şey yankılamaz. Komut dosyasındaki myPath değişkenine erişmek için ne yapabilirim? Komutta echo $ myPath yazarsam çalışır, ancak komut dosyasında değil.Bash komut dosyasında bir değişkene erişme
cevap
Eğer değişkeni atamak nasıl oldu
export myPath=/home/user/dir
deneyin? olmalıydı:
$ export myPath="/home/user/dir"
sonra içi gibi bir kabuk programı: Eğer istenen sonuçları elde edersiniz
#!/usr/bin/env bash
echo $myPath
.
Bunu başka bir alıntılanan dizenin içinde kullanmanız gerekiyorsa, "Yol $ {myPath}" şeklinde bir echo da yapabilirsiniz –
Ayrıca sadece ortam değişkenleri için başvuran zor sözdizimi ayrıntılar için MyScript
myPath="whatever" ./myscript
için MyPath değişkeni ayarlamak için bu yapabileceğini bkz: http://www.pixelbeat.org/docs/env.html
şununla değişken atama ilan etmeli " dışa aktarma "şu şekilde verilir:
export myPath="/home/user/dir"
Kabuğun değişkeni enviro içerisine dahil etmesi alt işlemlerin niyeti o başlattı. Varsayılan olarak, bildirdiğiniz değişkenler ("dışa aktarma" olmaksızın) alt işlemine iletilmez. Bu yüzden başlangıçta beklenen sonucu almadınız.
- 1. Kabuk komut dosyasında değişkene komut kaydedilemiyor
- 2. BASH komut dosyasında bir uzak sistemde nasıl bir komut yürütürsünüz?
- 3. Yürütülebilir değişkene bir Runnable sınıfı içinden erişme
- 4. Plunker kullanma, Tarayıcı konsolundan değişkene erişme
- 5. Bash komut dosyasında özel karakterler yazdırma
- 6. Bash komut dosyasında çıkış kodu nasıl yazılır
- 7. SIGPIPE'yi bash komut dosyasında yakalamanız önerilir mi?
- 8. Bash komut dosyası: w3m dökümünü
- 9. Başka bir sınıftan statik değişkene erişme
- 10. Javascript'te referans olarak bir değişkene erişme
- 11. Bir bash komut dosyasında, kullanıcı girdisini nasıl temizlerim?
- 12. Linux terminali girişi: Bir bash komut dosyasında 4095 karakter sınırı
- 13. Bir bash komut dosyasında bulmanın sonuçlarını nasıl işleyebilirim?
- 14. bir bash komut dosyasında zincirleme komutları (borular) ile işleme hatası?
- 15. Bir bash komut dosyasında satır numarasından başlayan satırları oku
- 16. Bir bash komut dosyasında dizin ağacı yazdırmaya nasıl gidebilirim?
- 17. Bash, bir karşılaştırma yapmak ve değişkene atama
- 18. ElasticSearch: groovy komut dosyasında belgenin iç içe geçmiş değerine erişme
- 19. TFS oluşturma sırasında Powershell komut dosyasında yapı revizyon numarasına erişme
- 20. bash: Komut
- 21. Bir komut dosyasında yürütülen komut yürütüldüğü zaman nasıl görüntülenir?
- 22. bash komut
- 23. Bir bash komut dosyasında, komut dosyasının çıktısının bir dosyaya yönlendirilip yönlendirilmediğini nasıl anlarım?
- 24. Bash: Bir döngü için bir değişkene joker karakteri birleþtirin
- 25. Yansıma kullanarak statik son değişkene erişme
- 26. Bash komut dosyası eksik ']'
- 27. Bir değişkene (yerel veya genel) bir PHP dosyasına erişme smarty
- 28. Herhangi bir uygulama denetleyicisinden global bir değişkene erişme
- 29. Bir bash komut dosyasındaki kaynak dosyaları
- 30. Bir örnek değişkeni ruby kullanmadan yöntem döngüsünün içindeki değişkene erişme
Ayrıca dışa aktarma profilinizi bash profilinizde de kullanabilirsiniz - komut dosyalarınızın bu değişkenlere erişmesini istiyorsanız. örneğin JAVA_HOME – LukeSolar
Bu yanıltıcıdır. 'Export'un mevcut kabuk üzerinde görünür bir etkisi yoktur. Değişkenin değeri, geçerli kabuktan başlatılan alt işlemlere görünür hale getirilmesi gerektiğinde yararlıdır. – tripleee
@tripleee Gerçekten de, ve bir şeyi kaçırmadığım sürece, sorunun tam olarak sorduğu şey tam olarak budur: bir alt işlemden (bir kabuk betiği yürüten) bir değişkene nasıl erişilir. –