Als «variable-substitution» getaggte Fragen




2
Was bedeutet $ {PATH: +: $ {PATH}}?
Ich habe kürzlich Folgendes in meinem Cygwin-Profil festgestellt: /usr/local/bin:/usr/bin${PATH:+:${PATH}} Was heißt das? Warum ist nicht nur $ PATH? Ist dies ein 'wenn $ PATH existiert, dann addiere: $ PATH'? Mein Ziel ist es, die Reihenfolge auszutauschen und die Cygwin-Pfade hinter den Windows-Pfad zu setzen. In der Vergangenheit hätte ich $PATH:/usr/local/bin:/usr/bin …

7
Doppelte und dreifache Substitution in bash und zsh
Follow-up zum Hintergrundteil dieser Frage . In bashkann ich verwende ${!FOO}für doppelte Substitution, in zsh ${(P)FOO}. In beiden Fällen eval \$$FOOfunktioniert die alte Schule (Hack-y) . Das Klügste und Logischste für mich wäre also ${${FOO}}, ${${${FOO}}}…eine doppelte / dreifache / n-Substitution. Warum funktioniert das nicht wie erwartet? Zweitens: Was macht …

4
Entziehen Sie sich einer Variablen, um sie als Inhalt eines anderen Skripts zu verwenden
In dieser Frage geht es nicht darum, wie ein ordnungsgemäß maskiertes Zeichenfolgenliteral geschrieben wird. Ich konnte keine verwandte Frage finden, bei der es nicht darum geht, Variablen für den direkten Verbrauch innerhalb eines Skripts oder durch andere Programme zu entziehen. Mein Ziel ist es, ein Skript zu ermöglichen, andere Skripte …





4
$ {! FOO} und zsh
${!FOO}Führt eine Doppelsubstitution in durch bash, dh, es wird der (Zeichenfolge-) Wert von FOO als Variablenname verwendet. zshunterstützt diese Funktion nicht. Gibt es eine Möglichkeit, diese Arbeit in bashund gleich zu machen zsh? Hintergrund: Ich habe eine Liste von Umgebungsvariablen, wie PATH MAIL EDITOR und wollen zuerst die Variablennamen und …


1
Siehe die Erweiterung der Bash-Variablen zum Debuggen?
Gibt es Tools / Tricks zum Erweitern von Variablen, um das Lesen von Bash-Code zu erleichtern? Zum Beispiel würde es Folgendes konvertieren: DIR=/var/tmp FILE=${DIR}/file SCRIPT_ROOT=/opt/root TOOL=${SCRIPT_ROOT}/tool.sh ${TOOL} ${FILE} zu: DIR=/var/tmp FILE=/var/tmp/file SCRIPT_ROOT=/opt/root TOOL=/opt/root/tool.sh /opt/root/tool.sh /var/tmp/file Ich konvertiere BASH-Code nach Python und das Lesen der BASH-Syntax ist sehr mühsam.

3
Name der verketteten Variablen für die Differenz
Ich kann dies tun, aber es erfordert, dass eine Zeichenfolge der Variablen erstellt und dann dereferenziert wird. Gibt es eine Möglichkeit, es auf eine einfachere Aussage zu verkürzen? #!/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} …


Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.