cURL이 서브셸에서 실행되는 이유는 무엇입니까? [폐쇄]

cURL이 서브셸에서 실행되는 이유는 무엇입니까? [폐쇄]

내 CentOS 7 컴퓨터에서 다음 명령을 실행합니다.

$curl boxname:5000/page

출력은 다음과 같습니다

$curl boxname:5000/page
[1] 55068

$ curl: (6) Couldn't resolve host 'boxname'

[1]+ Exit 6          curl boxname:5000/page

호스트 이름을 확인할 수 없는 것에 대해 걱정하지 않습니다. 예상되는 일입니다. 문제는 왜 컬이 서브쉘에서 실행되는가입니다. 종료 코드를 확인할 수 있도록 새 작업을 생성하지 않으려면 필요합니다.

답변1

실제 URL에 인용되지 않은 &문자가 포함되어 있으면 해당 지점 이전의 명령은 셸에서 백그라운드에서 실행되는 명령으로 해석됩니다. URL의 나머지 부분은 새 명령으로 처리됩니다.

명령줄에서 URL을 지정할 때 항상 URL을 인용하십시오. 이는 또한 URL의 다른 문자가 셸에서 특수 문자(예: ;etc. ?) 로 해석되는 것을 방지합니다.

답변2

문제를 발견했습니다. 제가 사용한 URL에는 앰퍼샌드가 포함되어 있었습니다!

관련 정보