컬 명령을 사용하여 위치에서 하위 디렉터리로 파일을 다운로드하고 다른 이름으로 저장합니다.

컬 명령을 사용하여 위치에서 하위 디렉터리로 파일을 다운로드하고 다른 이름으로 저장합니다.

curlURL에서 다운로드 파일을 사용하고 있습니다 . 현재 curl다음 명령을 사용하여 현재 디렉터리의 파일을 다운로드 할 수 있습니다.

curl -O http://path/to/url/17.01.24/smcfs-17.01.24.ear

이렇게 하면 파일이 정상적으로 다운로드되지만 smcfs-17.01.24.ear예상 이름으로 현재 디렉터리에 저장됩니다. 하지만 bash 스크립트를 사용하여 현재 디렉터리에 디렉터리를 생성하여 이 파일을 다운로드하고 저장하고 싶습니다.

if [[ ! -d "$4" ]]; then
    mkdir "$4"
    curl -O http://path/to/url/$4/smcfs-$4.ear   #I would like curl to fucntion like I said here    
fi

노트: 위의 코드 조각에서는 버전 번호를 매개변수 17.01.244rth스크립트에 전달하고 있습니다.

예상되는 출력은 컬이 현재 디렉토리의 하위 디렉토리에 있는 smcfs-17.01.24.ear이름으로 파일을 다운로드하는 것입니다.smcfs.ear17.01.24

하위 디렉터리로 이동하지 않고 컬을 사용하여 다운로드한 다음 현재 디렉터리로 돌아가는 방식으로 이를 달성하고 싶습니다.

답변1

다음 명령을 사용하여 특정 이름의 디렉터리에 파일을 다운로드합니다.

curl "http://path/to/url/$4/smcfs-$4.ear" --output "$4/smcfs.ear"

답변2

다음을 제거하여 원하는 동작을 얻을 수 있습니다 -O.

curl "http://path/to/url/$4/smcfs-$4.ear" > "$4/smcfs.ear"

(후에 mkdir). 기본값은 curl다운로드한 내용을 표준 출력으로 출력하는 것입니다. -O원격 이름과 일치하는 파일에 저장하도록 지시합니다.

관련 정보