powershell에서 문자열을 정의하기 위한 단일 따옴표와 이중 따옴표의 차이점은 무엇입니까?
저를 괴롭히는 간단한 질문들: 파워셸에서, 저는 문자열을 다음과 같이 정의할 수 있습니다.
$s1 = "Boogety boo"
또는
$s2 = '.net rocks'
통역사와 다른 점이 있습니까?
큰따옴표를 사용하면 변수를 확장할 수 있지만 작은따옴표를 사용하면 다음을 수행할 수 없습니다.
PS C:\Users\Administrator> $mycolor="red"
PS C:\Users\Administrator> write-output -inputobject 'My favorite color is $mycolor'
My favorite color is $mycolor
출처: http://www.techotopia.com/index.php/Windows_PowerShell_1.0_String_Quoting_and_Escape_Sequences
(버전 1.0은 알고 있지만 원리는 동일합니다)
이것은 더 나은 답이 되려고 노력하는 것이 아닙니다.그냥 다른 표현으로.
아포스트로피와 따옴표 사이의 변수 확장은 UNIX 셸(sh, ksh, bash)과 동일합니다.아포스트로피를 사용하면 이스케이프를 처리하지 않고 문자열을 그대로 사용합니다.
PS C:\Users\lit> $x = "`t"
PS C:\Users\lit> $x
PS C:\Users\lit> Write-Output "now${x}is"
now is
PS C:\Users\lit> $x = '`t'
PS C:\Users\lit> $x
`t
PS C:\Users\lit> Write-Output "now${x}is"
now`tis
PS C:\Users\lit> $word = "easy"
PS C:\Users\lit> "PowerShell is $word"
PowerShell is easy
PS C:\Users\lit> 'PowerShell is $word'
PowerShell is $word
이 질문은 PowerShell 문서의 about_Quoting_Rules 기사에 직접 답이 있습니다.
이중 따옴표 문자열
큰따옴표로 묶인 문자열은 확장 가능한 문자열입니다.변수 이름 앞에 달러 기호(
$
)는 문자열이 처리를 위해 명령으로 전달되기 전에 변수의 값으로 대체됩니다.예:
$i = 5 "The value of $i is $i."
이 명령의 출력은 다음과 같습니다.
The value of 5 is 5.
따옴표로 묶은 문자열
단일 따옴표로 둘러싸인 문자열은 동사형 문자열입니다.문자열은 입력한 대로 정확히 명령으로 전달됩니다.대체가 수행되지 않습니다.예:
$i = 5 'The value of $i is $i.'
이 명령의 출력은 다음과 같습니다.
The value of $i is $i.
즉, 문자열을 기록된 상태로 유지하려면 따옴표를 사용합니다.변수를 삽입하려면 큰따옴표를 사용합니다($myVariable
), 명령 실행 및 기타 평가 결과($($myList -join ', ')
) 또는 특수 문자(`r
,`n
,`t
,`a
등).
언급URL : https://stackoverflow.com/questions/5967407/whats-the-difference-between-single-quote-and-double-quote-to-define-a-string-i
'it-source' 카테고리의 다른 글
Spring Hibernate Template 실행 메서드가 Oracle에서 카운트 쿼리에 대해 반환하는 개체 유형은 무엇입니까? (0) | 2023.07.30 |
---|---|
git 명령에 대한 PowerShell의 별칭을 생성하시겠습니까? (0) | 2023.07.30 |
Spring Security : API용 JWT 토큰 및 웹용 세션 (0) | 2023.07.25 |
현재 노드 버전 확인 (0) | 2023.07.25 |
PHP: 배열을 값의 길이로 정렬하시겠습니까? (0) | 2023.07.25 |