Dela via


Om att citera regler

KORT BESKRIVNING

Beskriver regler för användning av enkla och dubbla citattecken i PowerShell.

LÅNG BESKRIVNING

Citattecken används för att ange en strängliteral. Du kan omsluta en sträng med enkla citattecken (') eller dubbla citattecken (").

Citattecken används också för att skapa en här-sträng. En här-sträng är en enkel- eller dubbelciterad sträng där citattecken tolkas bokstavligen. En här-sträng kan sträcka sig över flera rader. Alla rader i en här-sträng tolkas som strängar, även om de inte är inom citattecken.

I kommandon till fjärrdatorer definierar citattecken de delar av kommandot som körs på fjärrdatorn. I en fjärrsession avgör citattecken också om variablerna i ett kommando tolkas först på den lokala datorn eller på fjärrdatorn.

ENKLA OCH DUBBELCITERADE STRÄNGAR

När du omger en sträng med dubbla citattecken (en dubbelciterad sträng) ersätts variabelnamn som föregås av ett dollartecken ($) med variabelns värde innan strängen skickas till kommandot för bearbetning.

Exempel:

$i = 5
"The value of $i is $i."

Utdata för det här kommandot är:

The value of 5 is 5.

I en sträng med dubbla citattecken utvärderas även uttrycken och resultatet infogas i strängen. Exempel:

"The value of $(2+3) is 5."

Utdata för det här kommandot är:

The value of 5 is 5.

När du omger en sträng inom enkla citattecken (en sträng med en citattecken) skickas strängen till kommandot exakt när du skriver den. Ingen ersättning utförs. Exempel:

$i = 5
'The value of $i is $i.'

Utdata för det här kommandot är:

The value $i is $i.

På samma sätt utvärderas inte uttryck i enciterade strängar. De tolkas som literaler. Exempel:

'The value of $(2+3) is 5.'

Utdata för det här kommandot är:

The value of $(2+3) is 5.

Om du vill förhindra ersättning av ett variabelvärde i en dubbelciterad sträng använder du backtick-tecknet (`)(ASCII 96), som är PowerShell-escape-tecknet.

I följande exempel förhindrar backtick-tecknet som föregår den första $i variabeln PowerShell från att ersätta variabelnamnet med dess värde. Exempel:

$i = 5
"The value of `$i is $i."

Utdata för det här kommandot är:

The value $i is 5.

Om du vill att dubbla citattecken ska visas i en sträng omger du hela strängen inom enkla citattecken. Exempel:

'As they say, "live and learn."'

Utdata för det här kommandot är:

As they say, "live and learn."

Du kan också omsluta en sträng med en citattecken i en dubbelciterad sträng. Exempel:

"As they say, 'live and learn.'"

Utdata för det här kommandot är:

As they say, 'live and learn.'

Eller dubbla citattecknen runt en dubbelciterad fras. Exempel:

"As they say, ""live and learn."""

Utdata för det här kommandot är:

As they say, "live and learn."

Om du vill inkludera ett enkelt citattecken i en sträng med en citattecken använder du ett andra på varandra följande citattecken. Exempel:

'don''t'

Utdata för det här kommandot är:

don't

Om du vill tvinga PowerShell att tolka ett dubbelt citattecken bokstavligen använder du ett backtick-tecken. Detta förhindrar att PowerShell tolkar citattecknet som en stränggränsare. Exempel:

PS> "Use a quotation mark (`") to begin a string."
Use a quotation mark (") to begin a string.
PS> 'Use a quotation mark (`") to begin a string.'
Use a quotation mark (`") to begin a string.

Eftersom innehållet i enciterade strängar tolkas bokstavligen behandlas backtick-tecknet som ett literaltecken och visas i utdata.

HÄR-STRÄNGAR

Citatreglerna för här-strängar skiljer sig något åt.

En här-sträng är en enkel- eller dubbelciterad sträng där citattecken tolkas bokstavligen. En här-sträng kan sträcka sig över flera rader. Alla rader i en här-sträng tolkas som strängar även om de inte är inom citattecken.

Precis som vanliga strängar ersätts variabler med sina värden i dubbelciterade här-strängar. I enkla här-strängar ersätts inte variabler med deras värden.

Du kan använda här-strängar för valfri text, men de är särskilt användbara för följande typer av text:

  • Text som innehåller literala citattecken
  • Flera textrader, till exempel texten i en HTML- eller XML-kod
  • Hjälptexten för ett skript eller funktionsdokument

En här-sträng kan ha något av följande format, där <Enter> representerar det dolda radmatningstecknet eller det nya dolda tecknet som läggs till när du trycker på RETUR .

Dubbla citattecken:

@"<Enter>
<string> [string] ...<Enter>
"@

Enkla citattecken:

@'<Enter>
<string> [string] ...<Enter>
'@

I båda formaten måste det avslutande citattecknet vara det första tecknet på raden.

En här-sträng innehåller all text mellan de två dolda tecknen. I den här strängen tolkas alla citattecken bokstavligen. Exempel:

@"
For help, type "get-help"
"@

Utdata för det här kommandot är:

For help, type "get-help"

Att använda en här-sträng kan förenkla användningen av en sträng i ett kommando. Exempel:

@"
Use a quotation mark (') to begin a string.
"@

Utdata för det här kommandot är:

Use a quotation mark (') to begin a string.

I enkla här-strängar tolkas variabler bokstavligen och reproduceras exakt. Exempel:

@'
The $profile variable contains the path
of your PowerShell profile.
'@

Utdata för det här kommandot är:

The $profile variable contains the path
of your PowerShell profile.

I dubbelciterade här-strängar ersätts variabler med sina värden. Exempel:

@"
Even if you have not created a profile,
the path of the profile file is:
$profile.
"@

Utdata för det här kommandot är:

Even if you have not created a profile,
the path of the profile file is:
C:\Users\User1\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1.

Här används strängar vanligtvis för att tilldela flera rader till en variabel. Följande här sträng tilldelar till exempel en sida med XML till variabeln $page.

$page = [XML] @"
<command:command xmlns:maml="https://schemas.microsoft.com/maml/2004/10"
xmlns:command="https://schemas.microsoft.com/maml/dev/command/2004/10"
xmlns:dev="https://schemas.microsoft.com/maml/dev/2004/10">
<command:details>
        <command:name>
               Format-Table
        </command:name>
        <maml:description>
            <maml:para>Formats the output as a table.</maml:para>
        </maml:description>
        <command:verb>format</command:verb>
        <command:noun>table</command:noun>
        <dev:version></dev:version>
</command:details>
...
</command:command>
"@

Här-strängar är också ett praktiskt format för indata till cmdleten ConvertFrom-StringData , som konverterar här-strängar till hash-tabeller. Mer information finns i ConvertFrom-StringData.

SE ÄVEN

about_Special_Characters

ConvertFrom-StringData