Powershell에는 길거나 복잡한 명령을 입력 한 후 해당 명령을 기록 버퍼에 커밋하지만 실행할 수없는 방법이 있습니까?
예를 들어 posh-git : directory 내에서 git commit을 입력하기 시작합니다.
git commit -m "Added the library 'ASDF' and did some initial integration into the project" [pause]
그리고 당신이 그 유형을 얻었을 때, 나는 생각하고 있습니다 … 어, 나는 먼저 다른 일을 저지르기 위해 추가 파일을 추가하거나 디렉토리 또는 무언가를 만드는 것과 같이 무언가를 먼저해야합니다 (분명한 상황에서 Powershell은 자동 생성하고 git이 “커밋을 수정할 수 있음”을 알고 있습니다. 따라서 커밋 메시지를 히스토리 버퍼에 저장하고 싶지는 않지만 실행하지 않고 나중에 추가 파일을 준비하거나 무언가를 수행 한 후 다시 호출하기를 원합니다. 직전.
이 기사 (Windows PowerShell 바로 가기 키 : http://technet.microsoft.com/en-us/library/ee176868.aspx )에 따르면이 작업을 수행 할 때 키 입력이없는 것 같습니다.
ESC 키 (및 Ctrl + C)는 명령을 취소하고 지 웁니다 … 필요한 것은 기록을 저장하고 나중에 실행하여 입력을 유지하는 것입니다. 이것에 대한 키 입력이 있습니까?
답변
다음과 같이 명령 앞에 항상 주석 태그를 넣을 수 있습니다.
#Get-ChildItem
당신이 실행 공격 명령까지 화살표 준비가되었을 때 그리고 Home다음 Del, 다음 Enter실행합니다.
답변
많은 명령이 -whatif
나중에 추가하고 제거 할 수 있는 매개 변수를 지원합니다 . 그러나 나는 의견 아이디어가 더 좋다고 말해야합니다.
답변
일부 호출로 재생 한 후에도 작동하는 것으로 보입니다.
$VariableName = "Windows Command"
그런 다음 다음을 실행하십시오.
Invoke-Expression "$VariableName"
Ping의 예 :
또한 동일한 방식으로 PowerShell 표현식을 사용할 수있었습니다.
PS H :> $ Outlooks = “Get-Process -Name Outlook-Verbose | fl StartTime, Threads”PS H :> 호출 표현 “$ Outlooks”
본질적으로, 나는 무슨 일이 일어나고 있는지 믿습니다. 우리는 첫 번째 변수에 대한 문자열을 생성하고 (정확하게 보이는 모양 그대로), “”안에 변수를 호출하면 인터프리터가 변수를 확장하여 변수를 확장시킵니다. 올바른 명령을 호출합니다.