wget 명령의 리턴 값을 분석하고 싶습니다. 내가 그 시도 :wget 명령의 리턴 값을 분석하십시오.
GET=$(wget ftp://user:[email protected]/conf.txt
echo $GET
GET=`wget ftp://user:[email protected]/conf.txt`
echo $GET
하지만 디스플레이가 변수 GET 때 반환 된 값을 얻을하지 않습니다
wget 명령의 리턴 값을 분석하고 싶습니다. 내가 그 시도 :wget 명령의 리턴 값을 분석하십시오.
GET=$(wget ftp://user:[email protected]/conf.txt
echo $GET
GET=`wget ftp://user:[email protected]/conf.txt`
echo $GET
하지만 디스플레이가 변수 GET 때 반환 된 값을 얻을하지 않습니다
귀하의 질문이 좀 모호 wget과의 값을 반환하는 방법을
. "wget 프로세스의 종료 코드는 무엇입니까?"라고 묻는다면 특수 변수$?
에서 액세스 할 수 있습니다. " 당신이 닫는 괄호를 추가 (첫 번째 줄에 오타가 있지만
[~/tmp]$ wget www.google.foo
--2013-11-01 08:33:52-- http://www.google.foo/
Resolving www.google.foo... failed: nodename nor servname provided, or not known.
wget: unable to resolve host address ‘www.google.foo’
[~/tmp]$ echo $?
4
당신이 'wget을'명령의 표준 출력을 요구하는 경우, 그럼 당신이하는 일은, 당신을 것을주는 것입니다 "conf.txt"다음에). 문제는 wget이 기본적으로 stdout에 아무 것도 넣지 않는다는 것입니다. 당신은 자원의 내용을 요구하는 경우
[~/tmp]$ GET=`wget www.google.com 2>&1`
[~/tmp]$ echo $GET
--2013-11-01 08:36:23-- http://www.google.com/ Resolving www.google.com... 74.125.28.104, 74.125.28.99, 74.125.28.103, ... Connecting to www.google.com|74.125.28.104|:80... connected. HTTP request sent, awaiting response... 200 OK Length: 18637 (18K) [text/html] Saving to: ‘index.html’ 0K .......... ........ 100% 2.72M=0.007s 2013-11-01 08:36:23 (2.72 MB/s) - ‘index.html’ saved [18637/18637]
: 당신은 당신이 대화 형으로 wget을 실행할 때 표시되는 진행률 표시 줄 및 메시지는 실제로 당신이 쉘 리디렉션 2>&1
를 사용하여 표준 출력을 표준 오류 리디렉션하여 볼 수있는, stderr로 가고있다 wget이 수신되면 wget이 파일 대신 stdout으로 출력을 보내도록 지시해야합니다. wget의 취향에 따라 -O
또는 --output-document
과 같은 옵션이 가능하며 명령 줄을 wget -O - <url>
으로 구성 할 수 있습니다. 관습에 따라 단일 대시 (-
)는 명령 행 옵션에서 stdin과 stdout을 나타냅니다. 따라서 wget이 stdout으로 파일을 보내라고 말하고있는 것입니다.
[~/tmp]$ GET=`wget -O - www.google.com`
--2013-11-01 08:37:31-- http://www.google.com/
Resolving www.google.com... 74.125.28.104, 74.125.28.99, 74.125.28.103, ...
Connecting to www.google.com|74.125.28.104|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 18621 (18K) [text/html]
Saving to: ‘STDOUT’
100%[=======================================>] 18,621 98.5KB/s in 0.2s
2013-11-01 08:37:32 (98.5 KB/s) - written to stdout [18621/18621]
[~/tmp]$ echo $GET
<!doctype html><html itemscope="" itemtype="http://schema.org/WebPage"><head>
<snip lots of content>
당신은 명령을 실행 한 후
echo $?
로 종료 코드를 얻을 수 있습니다. 하지만 작동중인/작동하지 않는 다운로드에 반응하고 싶다면 다음을 사용할 수 있습니다.
if wget -q www.google.com
then
echo "works"
else
echo "doesn't work"
fi