Tôi đang viết một tập lệnh bash sử dụng rộng rãi wget. Để xác định tất cả các tham số phổ biến ở một nơi tôi lưu trữ chúng trên các biến. Đây là một đoạn mã:
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 "$@"
}
Đáng buồn là không làm việc. Bằng cách nào đó, tôi đang thiếu cách lưu trữ tham số đúng trên các biến $ useragent, $ save_cookies_cmd, $ load_cookies_cmd và caling wget truyền các vars này làm tham số.
Tôi muốn dòng lệnh kết quả như thế này:
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
EDIT: Giải pháp cuối cùng của tôi:
Cuối cùng, kịch bản của tôi hoạt động chính xác với điều này:
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" "$@"
}
Cảm ơn sự phản hồi của bạn.