사용하기 쉽도록 여러 명령을 변수에 넣는 방법

사용하기 쉽도록 여러 명령을 변수에 넣는 방법

스크립트를 작성하고 있는데 특정 코드 줄이 계속 재사용되는 것을 발견했습니다.

그래서 사용하기 쉽도록 변수에 넣지 않고, 뭔가 변경되면 한 곳에서만 변경하면 어떨까 생각했습니다.

내가 이것을 할 때 :

scriptpath="echo -e "\n" && curl -s -u lalala:hihihi ftp://ftp.somewhere.com/folder"

그런 다음 해당 변수를 다음과 같이 사용하십시오.

$SCRIPTPATH/some_script.sh | bash

다음과 같은 오류 메시지가 나타납니다.

bash: 2행: $'\n': 명령을 찾을 수 없습니다.

답변1

당신은 기능이 당신이 원하는 것과 정확히 일치하는 상황을 설명하고 있습니다.

do_download () {
    printf '\n'
    curl -s -u lalala:hihihi ftp://ftp.somewhere.com/folder
}

그런 다음 코드에서 다음과 같이 사용할 수 있습니다.

do_download

함수가 사용할 URL과 같은 매개변수를 허용해야 하는 경우,

do_download () {
    printf '\n'
    curl -s -u lalala:hihihi "$1"
}

그럼 전화해

do_download "ftp://ftp.somewhere.com/folder"

명령을 변수에 저장하는 것은매우 드물다인용이나 단어 분할과 같이 하고 싶은 일을 제대로 하기가 어렵습니다. 예를 들어 "변수에 저장된 명령을 어떻게 실행할 수 있나요?".

관련 정보