Pertanyaan yang diberi tag «variable-substitution»



2
Apa arti $ {PATH: +: $ {PATH}}?
Saya baru-baru memperhatikan hal berikut di profil cygwin saya, lebih tepatnya: /usr/local/bin:/usr/bin${PATH:+:${PATH}} Apa artinya? Mengapa tidak hanya $ PATH? Apakah ini 'jika $ PATH ada, lalu tambahkan: $ PATH'? Tujuan saya adalah untuk menukar urutan dan meletakkan jalur cygwin di belakang jalur windows. Di masa lalu saya akan melakukannya $PATH:/usr/local/bin:/usr/bin …


7
Substitusi ganda dan tiga dalam bash dan zsh
Tindak lanjuti bagian latar belakang dalam pertanyaan ini . Di bashsaya bisa gunakan ${!FOO}untuk substitusi ganda, di zsh ${(P)FOO}. Dalam keduanya, old-school (hack-y) eval \$$FOOberfungsi. Jadi, hal yang paling cerdas dan paling logis bagi saya adalah ${${FOO}}, ${${${FOO}}}…substitusi ganda / tripel / n. Mengapa ini tidak bekerja seperti yang diharapkan? …



3
Apakah bash mendukung kembali referensi dalam ekspansi parameter?
Saya memiliki variabel bernama descryang dapat berisi string Blah: -> r1-ae0-2 / [123], -> s7-Gi0-0-1:1-US / Foo, dll saya ingin mendapatkan -> r1-ae0-2, -> s7-Gi0-0-1:1-USbagian dari string. Saat ini saya gunakan descr=$(grep -oP '\->\s*\S+' <<< "$descr"untuk ini. Apakah ada cara yang lebih baik untuk melakukan ini? Apakah mungkin untuk melakukan …


4
Apakah mungkin untuk mencetak konten konten variabel dengan skrip shell? (referensi tidak langsung)
Misalkan saya telah mendeklarasikan variabel berikut: $ var='$test' $ test="my string" Jika saya mencetak isinya, saya melihat yang berikut: $ echo $var $test $ echo $test my string Saya ingin mencari cara untuk mencetak konten dari konten $var(yang merupakan konten $test). Jadi saya mencoba melakukan hal berikut: $ echo $(echo …

4
$ {! FOO} dan zsh
${!FOO}melakukan substitusi ganda dalam bash, yang berarti mengambil nilai (string) FOO dan menggunakannya sebagai nama variabel. zshtidak mendukung fitur ini. Apakah ada cara untuk membuat ini bekerja sama di bashdan zsh? Latar Belakang: Saya punya daftar variabel lingkungan, seperti PATH MAIL EDITOR dan ingin mencetak nama variabel terlebih dahulu dan …


1
Lihat perluasan variabel Bash untuk debugging?
Apakah ada alat / trik yang tersedia untuk memperluas variabel agar kode bash lebih mudah dibaca? Misalnya itu akan mengonversi yang berikut: DIR=/var/tmp FILE=${DIR}/file SCRIPT_ROOT=/opt/root TOOL=${SCRIPT_ROOT}/tool.sh ${TOOL} ${FILE} untuk: DIR=/var/tmp FILE=/var/tmp/file SCRIPT_ROOT=/opt/root TOOL=/opt/root/tool.sh /opt/root/tool.sh /var/tmp/file Saya mengkonversi kode BASH ke Python dan membaca sintaks BASH adalah hal yang membosankan.

3
Nama variabel gabungan dereference
Saya bisa melakukan ini, tetapi perlu membuat string dari variabel kemudian dereferencing. Apakah ada cara untuk mempersingkatnya menjadi pernyataan yang lebih sederhana? #!/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 Saya telah mencoba banyak hal …


Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.