wget을 광범위하게 사용하는 bash 스크립트를 작성 중입니다. 한 곳에서 모든 공통 매개 변수를 정의하기 위해 변수에 저장합니다. 다음은 코드 조각입니다.
useragent='--user-agent="Mozilla/5.0 (Windows NT 6.1; WOW64; rv:27.0) Gecko/20100101 Firefox/27.0"'
cookies_file="/tmp/wget-cookies.txt"
save_cookies_cmd="--save-cookies $cookies_file --keep-session-cookies"
load_cookies_cmd="--load-cookies $cookies_file --keep-session-cookies"
function mywget {
log "#!!!!!!!!!# WGET #!!!!!!!!!# wget $quiet $useragent $load_cookies_cmd $@"
wget $useragent $load_cookies_cmd "$@"
}
슬프게도 작동하지 않습니다. 어떻게 든 변수 $ useragent, $ save_cookies_cmd, $ load_cookies_cmd 및 매개 변수로 매개 변수를 전달하는 caling wget에 매개 변수를 저장하는 올바른 방법이 없습니다.
결과 명령 줄을 다음과 같이 원합니다.
wget --user-agent="Mozilla/5.0 (Windows NT 6.1; WOW64; rv:27.0) Gecko/20100101 Firefox/27.0" --load-cookies /tmp/wget-cookies.txt --keep-session-cookies http://mysite.local/myfile.php
편집 : 내 최종 솔루션 :
결국 내 스크립트는 올바르게 작동합니다.
useragent="Mozilla/5.0 (Windows NT 6.1; WOW64; rv:27.0) Gecko/20100101 Firefox/27.0"
useragent_cmd="--user-agent=$useragent"
cookies_file="/tmp/wget-cookies.txt"
save_cookies_cmd="--save-cookies $cookies_file --keep-session-cookies"
load_cookies_cmd="--load-cookies $cookies_file --keep-session-cookies"
function mywget {
log "#!!!!!!!!!# WGET #!!!!!!!!!# wget $load_cookies_cmd $useragent_cmd $@"
wget $load_cookies_cmd "$useragent_cmd" "$@"
}
모든 답변에 감사드립니다.