>  기사  >  백엔드 개발  >  ImageMagick 명령이 CMD에서는 작동하지만 PowerShell에서는 실패하는 이유는 무엇입니까?

ImageMagick 명령이 CMD에서는 작동하지만 PowerShell에서는 실패하는 이유는 무엇입니까?

Barbara Streisand
Barbara Streisand원래의
2024-10-26 08:58:02878검색

Why Do ImageMagick Commands Work in CMD but Fail in PowerShell?

ImageMagick 명령이 PowerShell 창에서는 실행되지 않지만 CMD 창에서는 실행됩니다.

문제:

이미지 추가를 위한 ImageMagick 명령 CMD에서 성공적으로 실행되는 동안 PowerShell에서 이미지에 대한 워터마크가 실행되지 않습니다.

원인:

명령이 다른 셸에서 다르게 해석될 수 있는 특수 문자를 사용합니다(예: , bash, CMD32, PowerShell).

해결책:

인용 및 셸 구문:

Bash: 백슬래시로 괄호를 이스케이프 처리하고 따옴표 안에 해시를 넣으세요.

CMD32: 이스케이프를 위해 캐럿을 사용하고 백분율 기호를 두 배로 늘리세요.

Powershell: 백틱을 사용하여 괄호를 이스케이프 처리합니다.

이스케이프 기술:

Shell Escape Character Line Continuation
Bash Backslash Backslash
CMD32 Caret ^ Caret ^
PowerShell Backtick ` Backtick `

명령 예:

Bash:

<code class="sh">magick IMAGE1.PNG \
   \( IMAGE2.PNG -resize 50% -fill '#ff0000' -colorize 100% \) \
  -composite -transparent 'hsl(40,50,60)' result.png</code>

CMD32:

magick IMAGE1.PNG ^
   ( IMAGE2.PNG -resize 50%% -fill &quot;#ff0000&quot; -colorize 100% ) ^
  -composite -transparent &quot;hsl(40,50,60)&quot; result.png

Powershell:

magick IMAGE1.PNG `
   `( IMAGE2.PNG -resize 50% -fill &quot;#ff0000&quot; -colorize 100% `) `
  -composite -transparent &quot;hsl(40,50,60)&quot; result.png

크로스 -플랫폼 솔루션:

셸 관련 인용 문제를 방지하려면 ImageMagick의 "-script" 옵션을 사용하여 파일에서 명령을 읽습니다.

<code class="sh">magick -script script.mgk</code>

스크립트 파일( script.mgk):

-size 640x480 xc:#ffff00
( foreground.png -resize 50% )
-gravity center -composite -write result.png

위 내용은 ImageMagick 명령이 CMD에서는 작동하지만 PowerShell에서는 실패하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.