ウェブサイトでリストを検索してホストファイルを更新するbashスクリプトはありますか? [閉鎖]

ウェブサイトでリストを検索してホストファイルを更新するbashスクリプトはありますか? [閉鎖]

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行が削除されます。この行は単なるコメントなので、ホストファイルに表示したくないとします。

- ダウンロードしたファイルをホストファイルに添付します。

アッ- ホストファイルが重複していることを確認して削除します。これは、スクリプトを複数回実行する場合に便利です。

おすすめ記事