«variable-substitution» etiketlenmiş sorular




2
$ {PATH: +: $ {PATH}} ne anlama geliyor?
Geçenlerde cygwin profilimde aşağıdakileri daha net bir şekilde fark ettim: /usr/local/bin:/usr/bin${PATH:+:${PATH}} Bunun anlamı ne? Neden sadece $ PATH değil? Bu bir '$ PATH varsa, sonra ekle: $ PATH' mi? Amacım emri değiştirmek ve cygwin yollarını pencere yolunun arkasına koymak. Geçmişte yapardım $PATH:/usr/local/bin:/usr/bin ama bu beni şaşırtıyor. Belki de yapmalıyım PATH="${PATH:+${PATH}:}/usr/local/bin:/usr/bin" …

7
Bash ve zsh'de çift ve üçlü ikame
Bu sorudaki arka plan kısmının takibi . Gelen bashkullanabileceğim ${!FOO}içinde, çift ikame için zsh ${(P)FOO}. Her ikisinde de eski okul (hack-y) eval \$$FOOçalışıyor. Yani, benim için en akıllı ve en mantıklı şey ${${FOO}}, ${${${FOO}}}…iki / üçlü / n ikame için olacaktır. Bu neden beklendiği gibi çalışmıyor? İkincisi: Açıklamada ne \işe …

4
Bir değişkenin başka bir komut dosyasının içeriği olarak kullanılması
Bu soru, düzgün bir şekilde kaçak bir dize değişmezinin nasıl yazılacağı ile ilgili değildir . Bir komut dosyasında veya diğer programlarda doğrudan tüketim için değişkenlerden nasıl kaçacağı ile ilgili olmayan herhangi bir soru bulamadım. Amacım başka bir komut dosyası oluşturmak için bir komut dosyasını etkinleştirmek. Bunun nedeni, oluşturulan komut dosyalarındaki …

2
Dizede bash değişkeninden sonra boşluk nasıl önlenir?
Renk için bir değişkenim var. Dize içinde değerlendirerek, dizeleri renk ayarlamak için kullanın. Ancak, adından sonra boşluk eklemeniz gerekir (böylece ad metnin bir bölümünü içermez). Bu bazen kötü görünüyor. Bu alanı kullanmaktan (yazdırmaktan) nasıl kaçınabilirim? Örnek (Diyelim ki Red=1ve NC=2): echo -e "$Red Note: blabla$NC". Çıktı: 1 Note: blabla2. Beklenen …

3
Bash parametre genişletmedeki referansları destekliyor mu?
Ben adında bir değişken var descrbir dize içerebilir Blah: -> r1-ae0-2 / [123], -> s7-Gi0-0-1:1-US / Foovb Almak istediğim -> r1-ae0-2, -> s7-Gi0-0-1:1-USdizesinden parçasını. Şu anda bunun için kullanıyorum descr=$(grep -oP '\->\s*\S+' <<< "$descr". Bunu yapmanın daha iyi bir yolu var mı? Bunu parametre genişletme ile yapmak da mümkün müdür?


4
Bir değişkenin içeriğinin içeriğini kabuk betiği ile yazdırmak mümkün müdür? (dolaylı referans)
Aşağıdaki değişkenleri beyan ettiğimi varsayalım: $ var='$test' $ test="my string" İçeriğini yazdırırsam aşağıdakileri görürüm: $ echo $var $test $ echo $test my string İçeriğinin içeriğini yazdırmanın bir yolunu bulmak istiyorum $var(ki içeriği $test). Bu yüzden aşağıdakileri yapmaya çalıştım: $ echo $(echo $var) $test Ama işte sonuç, $testdeğil "my string"... Değişkenlerin …

4
$ {! FOO} ve zsh
${!FOO}içinde bir çift yerine koyma gerçekleştirir bash, yani FOO'nun (string) değerini alır ve değişken adı olarak kullanır. zshbu özelliği desteklemiyor. Bu çalışmayı aynı şekilde yapmanın bir yolu var mı bashve zsh? Arka fon: Ortam değişkenlerinin bir listesi var. PATH MAIL EDITOR önce değişken adlarını sonra da değerlerini yazdırmak istersiniz. Bu …


1
Hata ayıklama için Bash değişkenlerinin genişlemesine bakın?
Bask kodunun okunmasını kolaylaştırmak için değişkenleri genişletmek için kullanılabilecek herhangi bir araç / püf noktası var mı? Örneğin, aşağıdakileri dönüştürür: DIR=/var/tmp FILE=${DIR}/file SCRIPT_ROOT=/opt/root TOOL=${SCRIPT_ROOT}/tool.sh ${TOOL} ${FILE} için: DIR=/var/tmp FILE=/var/tmp/file SCRIPT_ROOT=/opt/root TOOL=/opt/root/tool.sh /opt/root/tool.sh /var/tmp/file BASH kodunu Python'a dönüştürüyorum ve BASH sözdizimini okuyorum.

3
Dereference birleştirilmiş değişken adı
Bunu yapabilirim, ancak değişkenin bir dizesini oluşturup daha sonra kayıttan çıkarmayı gerektirir. Daha basit bir ifadeyle kısaltmanın bir yolu var mı? #!/bin/bash FRUITS="BANANA APPLE ORANGE" BANANA_COLOUR="Yellow" APPLE_COLOUR="Green or Red" ORANGE_COLOUR="Blue" for fruit in $( echo $FRUITS ); do fruit_colour="${fruit}_COLOUR" echo $fruit is ${!fruit_colour} done Ben gibi birçok şey denedim ${!"${fruit}_COLOUR"}ya …


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.