Bash whois 스크립트는 *를 사용하여 지역 정보를 호출합니까? [복사]

Bash whois 스크립트는 *를 사용하여 지역 정보를 호출합니까? [복사]

스크립트에서 매우 이상한 출력이 나타납니다. 다음은 터미널에서 단독으로 실행되는 라인입니다.

root@KaliTestBox:~/Desktop/dns1# echo $(whois 13.66.39.88 |head -n 40 |tail -n 28 |tr '\n' ' ')

그러나 출력은 어떻게든 "ls"를 실행합니까? CSV에 사용된 개행 문자를 제거할 때 블록 따옴표를 사용합니다. 모든 내용이 굵게 표시되고 "ls"가 두 번 실행됩니까? 난 이해가 안 돼요. 실제 후이즈는 그 아래에 있습니다.

편집: 이것 보세요. *와 관련이 있지만 명령줄에 넣는 것만으로는 작동하지 않습니까? 나는 여전히 제목을 게시하고 변경하고 있습니다. 스크립트의 별표가 디렉토리 내용을 덤프하는 이유는 무엇입니까? 이런 일에는 안전상의 위험이 있지 않습니까?

> root@KaliTestBox:~/Desktop/dns1# echo $(whois 13.66.39.88 |head -n 40 |tail -n 28 |tr '\n' ' ')

NetRange: 13.64.0.0 - 13.107.255.255 CIDR: 13.96.0.0/13, 13.104.0.0/14, 13.64.0.0/11 NetName: MSFT NetHandle: NET-13-64-0-0-1 Parent: NET13 (NET-13-0-0-0-0) NetType: Direct Assignment OriginAS: Organization: Microsoft Corporation (MSFT) RegDate: 2015-03-26 Updated: 2015-03-26 Ref: https://rdap.arin.net/registry/ip/13.64.0.0 OrgName: Microsoft Corporation OrgId: MSFT Address: One Microsoft Way City: Redmond StateProv: WA PostalCode: 98052 Country: US RegDate: 1998-07-09 Updated: 2017-01-28 Comment: To report suspected security issues specific to traffic emanating from Microsoft online services, including the distribution of malicious content or other illicit or illegal material through a Microsoft online service, please submit reports to: Comment: **Akamai Akamai1 Akamai DNS.rtf Akamai_hosts_4-30.txt Akamai_hosts_cleaned complete-domainlist-4-30.txt dns2 dnschecker.sh dnsCSV dnsCSV1 dnsCSV.7z dnsCSVexternal dnsCSVfail DNS Exp1.7z dnsExport2.7z dnsExternal1.txt dnslist1 dnslistProd DNSlist.txt exeternalNmap1.txt externalNmapOutput externalNmapProd ipsExternal1.txt ipsExternal2.txt LVSIDEV.txt LVSIP.txt LVSIRED.txt LVS.txt LV_Website_Management.xlsx MarkMon_12-27-2018.xls prodAkamai1Url prodAkamaiUrl1 rvCSV rvCSVerror rvdns.sh test test1 test2 test3 test4 test5 test6 test7 whoischeck.sh whoisCSV whoisCSV3-25** https://cert.microsoft.com. Comment: Comment: For SPAM and other abuse issues, such as Microsoft Accounts, please contact: Comment: **Akamai Akamai1 Akamai DNS.rtf Akamai_hosts_4-30.txt Akamai_hosts_cleaned complete-domainlist-4-30.txt dns2 dnschecker.sh dnsCSV dnsCSV1 dnsCSV.7z dnsCSVexternal dnsCSVfail DNS Exp1.7z dnsExport2.7z dnsExternal1.txt dnslist1 dnslistProd DNSlist.txt exeternalNmap1.txt externalNmapOutput externalNmapProd ipsExternal1.txt ipsExternal2.txt LVSIDEV.txt LVSIP.txt LVSIRED.txt LVS.txt LV_Website_Management.xlsx MarkMon_12-27-2018.xls prodAkamai1Url prodAkamaiUrl1 rvCSV rvCSVerror rvdns.sh test test1 test2 test3 test4 test5 test6 test7 whoischeck.sh whoisCSV whoisCSV3-25** [email protected].

도메인 이름 쿼리 출력:

#
# ARIN WHOIS data and services are subject to the Terms of Use
# available at: https://www.arin.net/resources/registry/whois/tou/
#
# If you see inaccuracies in the results, please report at
# https://www.arin.net/resources/registry/whois/inaccuracy_reporting/
#
# Copyright 1997-2019, American Registry for Internet Numbers, Ltd.
#


NetRange:       13.64.0.0 - 13.107.255.255
CIDR:           13.104.0.0/14, 13.64.0.0/11, 13.96.0.0/13
NetName:        MSFT
NetHandle:      NET-13-64-0-0-1
Parent:         NET13 (NET-13-0-0-0-0)
NetType:        Direct Assignment
OriginAS:       
Organization:   Microsoft Corporation (MSFT)
RegDate:        2015-03-26
Updated:        2015-03-26
Ref:            https://rdap.arin.net/registry/ip/13.64.0.0



OrgName:        Microsoft Corporation
OrgId:          MSFT
Address:        One Microsoft Way
City:           Redmond
StateProv:      WA
PostalCode:     98052
Country:        US
RegDate:        1998-07-09
Updated:        2017-01-28
Comment:        To report suspected security issues specific to traffic emanating from Microsoft online services, including the distribution of malicious content or other illicit or illegal material through a Microsoft online service, please submit reports to:
Comment:        * https://cert.microsoft.com.  
Comment:        
Comment:        For SPAM and other abuse issues, such as Microsoft Accounts, please contact:
Comment:        * [email protected].  
Comment:        
Comment:        To report security vulnerabilities in Microsoft products and services, please contact:
Comment:        * [email protected].  
Comment:        
Comment:        For legal and law enforcement-related requests, please contact:
Comment:        * [email protected]
Comment:        
Comment:        For routing, peering or DNS issues, please 
Comment:        contact:
Comment:        * [email protected]
Ref:            https://rdap.arin.net/registry/entity/MSFT


OrgAbuseHandle: MAC74-ARIN
OrgAbuseName:   Microsoft Abuse Contact
OrgAbusePhone:  +1-425-882-8080 
OrgAbuseEmail:  [email protected]
OrgAbuseRef:    https://rdap.arin.net/registry/entity/MAC74-ARIN

OrgTechHandle: MRPD-ARIN
OrgTechName:   Microsoft Routing, Peering, and DNS
OrgTechPhone:  +1-425-882-8080 
OrgTechEmail:  [email protected]
OrgTechRef:    https://rdap.arin.net/registry/entity/MRPD-ARIN


#
# ARIN WHOIS data and services are subject to the Terms of Use
# available at: https://www.arin.net/resources/registry/whois/tou/
#
# If you see inaccuracies in the results, please report at
# https://www.arin.net/resources/registry/whois/inaccuracy_reporting/
#
# Copyright 1997-2019, American Registry for Internet Numbers, Ltd.

답변1

echo $(somecommand)출력을 볼 필요는 없습니다 somecommand. 필요한 것만으로도 somecommand충분합니다. 일반적으로 다른 명령의 출력을 보는 데는 사용하지 않으며 echo여기서는 필요하지 않습니다.

귀하의 경우에도 일어나는 일은 $(...)따옴표 없이 명령 대체(비트)를 사용하고 있다는 것입니다. 이렇게 하면 다음 두 가지 일이 발생합니다.

  1. 쉘은 확장 결과(파이프의 출력)를 다음으로 분할합니다.성격내용을 기반으로 합니다 $IFS. 기본적으로 이는 공백으로 구분된 각 문자열이 단어가 됨을 의미합니다.

  2. 토큰화 단계에서 생성된 각 단어는 파일 이름 생성("globbing")을 거칩니다. 이는 예를 들어 단어가 유효한 파일 이름 패턴인 경우 *(출력에서 여러 번 발생 whois) 쉘은 이를 파일 시스템에서 사용 가능한 파일 이름과 일치시키려고 시도한다는 것을 의미합니다.

즉, 이전과 동일한 효과를 얻을 수 있습니다.

echo *

하지만 여기서 중요한 점은 echo파이프의 출력을 전혀 볼 필요가 없다는 것입니다. 그냥 제거 echo하고 $(...):

whois 13.66.39.88 | head -n 40 | tail -n 28 | tr '\n' ' '

관련 정보