스크립트를 작성하고 있는데 특정 코드 줄이 계속 재사용되는 것을 발견했습니다.
그래서 사용하기 쉽도록 변수에 넣지 않고, 뭔가 변경되면 한 곳에서만 변경하면 어떨까 생각했습니다.
내가 이것을 할 때 :
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"
명령을 변수에 저장하는 것은매우 드물다인용이나 단어 분할과 같이 하고 싶은 일을 제대로 하기가 어렵습니다. 예를 들어 "변수에 저장된 명령을 어떻게 실행할 수 있나요?".