ConEmu 명령 프롬프트에서 powershell을 실행하면 아무 작업도 수행되지 않습니다.

ConEmu 명령 프롬프트에서 powershell을 실행하면 아무 작업도 수행되지 않습니다.

<Win key>를 통해 Win 10에서 일반 명령 프롬프트를 열고 cmd프롬프트에 을 입력하면 powershellPowerShell 명령 프롬프트가 표시됩니다.

하지만 PortableApps의 ConEmu(v.18.06.26 [32])에서 Windows 명령 프롬프트를 받으면,편집하다: v21.04.22(미리보기)로 업데이트되었으며 를 입력하면 powershell아무 작업도 수행되지 않습니다.

그래서 ConEmu에서 시도해 보았습니다.설정 작업PowerShell를 클릭하고 프롬프트 에서와 동일한 방식으로 작업을 설정합니다 cmd(실제로는 내장 작업을 사용했습니다). 그런 다음 해당 작업을 시작하면 메시지만 포함된 탭이 표시됩니다 Press Enter or Esc to exit...(그리고 해당 메시지에 대한 책임이 누구에게 있는지는 알 수 없습니다).

ConEmu에서 powershell 프롬프트를 얻으려면 특별히 해야 할 일이 있나요?

노트:

  1. 업데이트 중에 7-zip과 관련된 오류 메시지와 함께 설치 후인 것으로 추측되는 창이 나타났습니다. 해당 창을 잃어버렸지만 ConEmu는 "잘" 작동합니다.
  2. 새 버전의 애플리케이션 아이콘이 다음으로 변경되었습니다.
    여기에 이미지 설명을 입력하세요
    하지만 PortableApps 실행 프로그램의 툴팁에는 여전히 이전 아이콘과 버전이 표시됩니다.
    여기에 이미지 설명을 입력하세요
  3. 내 시스템에는 GitExtensions와 함께 제공되는 또 다른 ConEmu가 있습니다(오늘까지는 몰랐습니다). 그것은 v20.07.13이고 여기서도 같은 내용을 볼 수 있습니다.
    여기에 이미지 설명을 입력하세요

답변1

Shells::cmd 64/32다음과 같은 정의가 있는 내장 복합 작업을 시작했습니다.

> "%windir%\system32\cmd.exe" /k ""%ConEmuBaseDir%\CmdInit.cmd" & echo This is Native cmd.exe"

"%windir%\syswow64\cmd.exe" /k ""%ConEmuBaseDir%\CmdInit.cmd" & echo This is 32 bit cmd.exe -new_console:s50V"

이들 간의 차이점은 다음과 같습니다(나중에 별도의 셸로 실행하여 확인).

Task    Version*1     "Sensitive"       Warning at
                     to powershell?     launching*2
Top      AMD64      No, as in Fig. 1        No
Bottom    x86         Yes (normal)      As in Fig. 2

*1 에 의해 확인되었으며 echo %PROCESSOR_ARCHITECTURE%그 출력은 표에 나열되어 있습니다.

*2 단말기를 처음 실행하면 아래와 같은 경고가 뜹니다.

그림 1 여기에 이미지 설명을 입력하세요

그림 2 여기에 이미지 설명을 입력하세요

그런 다음 그것이 Windows C:\Windows\System32\cmd.exeC:\Windows\SysWOW64\cmd.exe. 그리고 <Win 키> 대화 상자에서 두 가지 중 하나를 직접 실행한 다음 powershell명령 프롬프트에서 실행하면 "정상적인" 동작이 발생하므로 그렇지 않았습니다 . 또한 <Win key>를 통해 시작한 모든 바로 가기가 C:\Windows\System32\cmd.exeConEmu에서 "실패하는" 변형인 "정상적인" 동작으로 이어졌는지 확인했습니다.

내 결론은 문제가 ConEmu에만 국한된다는 것입니다. ConEmu에서 작업 정의

cmd -new_console:C:cmd.exe

또는

"%windir%\system32\cmd.exe" /k ""%ConEmuBaseDir%\CmdInit.cmd" & echo This is Native cmd.exe"

문제의 원인입니다.

<Win key>를 입력하고 를 실행하면 cmd -new_console:C:cmd.exe명령 powershell프롬프트에서 "정상적인" 동작이 나타납니다.

<Win key> 대화 상자에서 %windir%\syswow32\cmd.exe또는 중 하나를 실행하면 해당 셸에서 다음이 반환됩니다.%windir%\syswow64\cmd.exeset path

C:\Program Files (x86)\IntelSWTools\compilers_and_libraries_2016.2.180\windows\mpi\intel64\bin;C:\Program Files\Microsoft MPI\Bin\;C:\ProgramData\Oracle\Java\javapath;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\WINDOWS\System32\OpenSSH\;C:\SIMULIA\Abaqus\Commands;C:\Program Files\PuTTY\;C:\ecl\macros\;C:\<myappsdir2>\utils\gtools;C:\<myappsdir2>\miktex\bin\x64

두 개의 ConEmu 셸 중 하나에서 OTOH는 set path위와 동일한 문자열을 반환하며 앞에는

C:\<myappsdir1>\ConEmu\App\ConEmu\ConEmu\Scripts;C:\<myappsdir1>\ConEmu\App\ConEmu;C:\<myappsdir1>\ConEmu\App\ConEmu\ConEmu;

추가 발굴이 유용할 수 있습니다. 내장된 조건에서 PowerShell 작업과 함께 나타나는 것으로 보이며 PortableApps 버전과 GitExtensions와 함께 제공되는 버전에서도 나타나는 이 문제를 아무도 보고하지 않은 이유가 궁금합니다.

관련된:

https://github.com/Maximus5/ConEmu/issues/965

관련 정보