PowerShell Store változók Változó nem működik

szavazat
0

Kell egy kis segítség PowerShell, remélem valaki tud segíteni.

Azt szeretnénk tárolni több változókat egyetlen változó.

Itt van a kód:

$Content = @
$Var1 = 1
$Var2 = 2
$Var3 = 3
@   

echo $Content

És amit én kimenet:

echo $Content
 = 1
 = 2
 = 3

Meg kell kinéznie:

$Var1 = 1, etc...

De minden változó tartalmát eltávolítjuk. Nem tudom, hogy miért. Lehet valaki kérem magyarázza ezt? Szükségem tárolni őket valami, mint egy tárgy?

Előre is köszönöm!

A kérdést 24/10/2019 13:00
a forrás felhasználó
Más nyelveken...                            


1 válasz

szavazat
0

A leggyorsabb javítást jelentet meg a helyzet, hogy váltani egyetlen itt idézett-húr.

$Content = @'
$Var1 = "1"
$Var2 = "2"
$Var3 = "3"
'@ 

Általában idézőjelek karakterlánc instruct PowerShell interpolációjához. Egységes idézőjelek karakterlánc mondja PowerShell kezelésére a tartalmat szó húr. Ez vonatkozik ide-húrok ( @""@és @''@).

# Double Quotes

$string = "my string"
"$string"
my string

@"
$string
"@
my string

# Single Quotes

'$string'
$string

@'
$string
'@
$string

Amikor interpoláció történik, változók bővült és értékelni. Egy változó azonosított kezdve a $karakter, amíg illegális karaktert egy változó neve olvasható. Figyeljük meg az alábbi példát, hogy a változó interpoláció megáll a ..

"$string.length"
my string.length

Használhatja a karaktereket, vagy más szolgáltatók ellenőrzése interpoláció belül kettős idézett szálakat. A második kifejezés operátor $()lehetővé teszi olyan expressziós értékelni kell, mielőtt alakul át egy string.

"$($string.length)"
9

A végrehajtó karakter a PowerShell escape karaktert. Ezt fel lehet használni, hogy elkerülje $, ha nem akarja, hogy kell kezelni, mint egy változó.

"`$string"
$string

Keverés idézetek létrehozhat bizonyos gotchas. Ha körbevenni a string szimpla idézőjelek, minden benne lesz a string- függetlenül a karaktereket, vagy illeszkedik.

'"$($string.length)"'
"$($string.length)"

'"`$string"'
"`$string"

Körül a húr dupla idézőjelek belül aposztróf jelet majd csak kezelni a belső aposztróf jelet szó, mivel a külső idézetek határozza meg, hogy a húr kell értelmezni.

"'$string'"
'my string'

A több aposztróf párokat vagy idézőjel pár speciális kezelést igényelnek. Ebben az egyedülálló helyzetet idézőjel, akkor használja a végrehajtó menekülési vagy két "nyomtatni egy ".

"""$string"""
"my string"

"`"$string`""
"my string"

Ha több szimpla idézőjelet, akkor kell használni a két ', mert a backtick kell kezelni a szó szoros értelmében, és nem mondja PowerShell menekülni semmit.

'''$string'''
'$string'

Tekintsd About_Quoting_Rules hivatalos dokumentációt.

Válaszolt 24/10/2019 14:25
a forrás felhasználó

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more