Gibt es eine Bash-Entsprechung zu "einigem Inhalt # {foo}" mit Ruby?

3

Ich bin es gewohnt, Variablen in Ruby-Strings zu übergeben

"message in double quotes #{expression_or_variable_to_run}"

Was ist das Äquivalent in Bash für wirklich schnelles Scripting?

Chris Adams
quelle

Antworten:

7

Ist es das was du suchst?

#!/bin/bash

# Source hostname from command.
echo "Hostname is $(hostname)"

# Set hostname as string.
HOSTNAME="somestring"
echo "Hostname is ${HOSTNAME}"
Dan Carley
quelle
Schlagt mich so sehr.
Dennis Williamson
2
$ () Ist jedoch kein "Sourcing" - es ist eine Subshell.
Dennis Williamson
Ah, genau das ist nötig, danke!
Chris Adams
Ich meinte nicht Source in a Bash '. 'sense. Nur dass der Befehl die Quelle des Strings war. Semantik;)
Dan Carley
1

Vielleicht hilft Ihnen dies, einige Grundlagen zu verstehen:

#! / bin / bash
VARIABLE = "is"
echo "der server $ VARIABLE` hostname` "

Variablen werden ohne $ definiert und mit $ referenziert. Shell-Befehle können in Anführungszeichen ausgeführt werden.

Karolis T.
quelle
4
- Backticks sollten mit einer heißen Nadel und einer Pinzette herausgezogen werden Verwendung $ () statt - mywiki.wooledge.org/BashFAQ/082
Dennis Williamson