스크립트의 "실행 시간"을 "실시간"변수에 할당하려고합니다. 그래서 다음과 같이 시도 :Bash의 변수에 파이프 라인 결과를 할당하는 방법
realtime = `{ time (echo "mirror -Rv $LocalPath $LocalPath";echo "quit";)|lftp -u s1238262 FTPS://$RemoteHost ; } 2>&1 |grep "real"| awk '{print $2}'`
echo $realtime
그러나 나는 오류가 발생했습니다 :
++ grep real
++ awk '{print $2}'
+ realtime = 0m2.403s
./test.sh: line 6: realtime: command not found
+ echo
내가 뭔가 일을했다
realtime = `{ time pwd; } 2>&1 |grep real|awk '{print $2}'`
을 시도했다. 그러나 ftp 스크립트는 그렇지 않았습니다. 누구든지 나를 도울 수 있습니까?
, 나는'실시간은 = ...'호출이 작동하지 않았다 생각한다. 'bash '의 변수 할당은 변수 이름과'='기호 사이 또는'='기호 다음과 값 앞에 공백이 없어야합니다 (예 :'realtime = something'이 좋으면'realtime = something' ,'realtime = something'과'realtime = something'은 모두 좋지 않다.). – twalberg
또한'grep foo | awk '{bar}''는 보통 awk/foo/{bar} '로 쓰여집니다. – tripleee
고마워요! 그러나 awk의 재 작성에 대해서는 얻지 못했습니다. 나는 그것을''realtime ='{time pwd; } 2> & 1 | awk '/ grep "real"/ {print $ 2}''''. 하지만 오류가 발생했습니다 : '++ awk '/ grep "real"/ {print $ 2}'' '+ a =' – dmoney