bash가 문자열을 사용하는 방법과 관련이 있습니다.
그 변수에 무엇이 저장되어 있는지 살펴보면
d1=date
d2="date"
d3='date'
d4=`date`
d1, d2 및 d3은 "date"를 포함하는 문자열 일 뿐이지 만 d4는 실행 된 명령 날짜의 결과를 갖습니다.
그런 다음이 단계를 한 단계 더 진행하여 해당 문자열 사이의 차이점을 찾을 수 있는지 확인하십시오.
d4=`date +%Y%m%d`
echo $d4
그것은 이제 우리가 $ d4에 "20100418"을 저장했음을 의미합니다.
d3='$d4'
echo $d3
이제 $ d3에서 문자열 "$ d4"(정확한 3 자)를 인쇄했습니다.
d2="$d4"
echo $d2
이제 $ d4를 인쇄하고 그 결과를 변수 $ d2에 저장 한 이후 $ d2에 "20100418"이 저장되었습니다.
d1=$d4
echo $d1
그리고 변수 $ d4의 내용을 변수 $ d1에 복사합니다.
이것이 문자열이 어떻게 작동하는지 조금 명확하게하기를 바랍니다.
그리고 지금 당신의 질문으로 돌아갑니다.
cj@zap:~$ echo date | wc
1 1 5
cj@zap:~$ echo `date` | wc
1 6 31
cj@zap:~$ date | wc
1 6 31
이제 실제로 무엇을 의미합니까? 남자 화장실은 우리에게 이것을 제공합니다 :
NAME wc-각 파일의 줄 바꿈, 단어 및 바이트 수를 인쇄합니다
따라서 "1 1 5"는 개행 1 개, 단어 1 개, 문자 5 개가 있고 날짜와 일치한다고 말합니다.
그리고 "1 6 31"은 "sön 18 apr 2010 10.07.25 CEST \ n"과 일치합니다. 왜냐하면 그것은 내 데이트 명령이 나에게 준 것이기 때문입니다 ...
echo date | wc
같은 같은 결과 인 우분투 시스템에 나에게 1-1-5을 제공wc
한 후 입력date^D
.