![웹사이트에서 목록을 검색하여 호스트 파일을 업데이트하는 bash 스크립트가 있습니까? [폐쇄]](https://linux55.com/image/166523/%EC%9B%B9%EC%82%AC%EC%9D%B4%ED%8A%B8%EC%97%90%EC%84%9C%20%EB%AA%A9%EB%A1%9D%EC%9D%84%20%EA%B2%80%EC%83%89%ED%95%98%EC%97%AC%20%ED%98%B8%EC%8A%A4%ED%8A%B8%20%ED%8C%8C%EC%9D%BC%EC%9D%84%20%EC%97%85%EB%8D%B0%EC%9D%B4%ED%8A%B8%ED%95%98%EB%8A%94%20bash%20%EC%8A%A4%ED%81%AC%EB%A6%BD%ED%8A%B8%EA%B0%80%20%EC%9E%88%EC%8A%B5%EB%8B%88%EA%B9%8C%3F%20%5B%ED%8F%90%EC%87%84%5D.png)
bash 스크립트를 사용하여 온라인 목록(예:https://raw.githubusercontent.com/StevenBlack/hosts/master/hosts).
다음과 같은 Windows Powershell 스크립트가 있다는 것을 알고 있습니다.
https://github.com/robledosm/update-mvpsHosts/blob/master/update-mvpsHosts.ps1
https://github.com/chriskenis/POSH/blob/master/OS/Update-HostFile.ps1
하지만 나는 이미 기본적인 Linux 지식을 갖고 있기 때문에 Linux 스크립트를 원합니다.
누군가 나에게 이와 같은 스크립트를 알려줄 수 있습니까?
감사해요
편집 : BANJOSA의 답변은 실제로 정확합니다. 감사해요
답변1
Linux용 Windows 하위 시스템에는 호스트 컴퓨터에서 시스템 파일을 편집할 때 특정 제한 사항이 있습니다. 이를 달성하려면 다음을 실행해야 합니다.월드 SL그리고행정 직원특권.
매우 대략적인 스크립트 예는 다음과 같습니다.
#!/bin/bash
cd /mnt/c/Windows/System32/drivers/etc || { echo "Aborting all operations! Path does not exist."; exit 1; }
curl https://raw.githubusercontent.com/StevenBlack/hosts/master/hosts -o hosts_from_internet
sed -i 1,13d hosts_from_internet
cat hosts_from_internet >> hosts
awk '!seen[$0]++' hosts
CD- 디렉토리에 진입하고, 실패할 경우 메시지와 함께 중단하고 스크립트 실행을 중지합니다.
곱슬- 목록은 귀하가 제공한 링크에서 다운로드되어 파일로 저장됩니다.
sed- 다운로드한 파일에서 처음 13줄이 제거됩니다. 이 줄은 단지 주석이므로 호스트 파일에 표시되는 것을 원하지 않는다고 가정합니다.
고양이- 다운로드한 파일을 호스트 파일에 첨부하세요.
앗- 호스트 파일이 중복되었는지 확인하고 제거합니다. 이는 스크립트를 여러 번 실행할 때 유용할 수 있습니다.