我创建了一个.bat文件然后转换为.exe来编辑Windows系统上的hosts文件。我要转换为shell脚本。
我的.bat脚本是
@ECHO off
setlocal enabledelayedexpansion
::Create your list of host domains
set LIST=(www.google.com)
::Set the ip of the domains you set in the list above
set www.google.com=192.168.1.1
:: deletes the parentheses from LIST
set _list=%LIST:~1,-1%
::ECHO %WINDIR%\System32\drivers\etc\hosts > tmp.txt
for %%G in (%_list%) do (
set _name=%%G
set _value=!%%G!
SET NEWLINE=^& echo.
ECHO Carrying out requested modifications to your HOSTS file
::strip out this specific line and store in tmp file
type %WINDIR%\System32\drivers\etc\hosts | findstr /v !_name! > tmp.txt
::re-add the line to it
ECHO %NEWLINE%^!_value! !_name!>>tmp.txt
::overwrite host file
copy /b/v/y tmp.txt %WINDIR%\System32\drivers\etc\hosts
del tmp.txt
)
ipconfig /flushdns
ECHO.
EXIT
我尝试过http://tldp.org/LDP/abs/html/dosbatch.html,但没有成功。
答案 0 :(得分:2)
MacOS是一个基于Unix的系统,所以你可以使用任何shell命令。在互联网上寻找“如何打击脚本”或“Sh脚本”
答案 1 :(得分:1)
可以使用Mac OS X上的shell脚本修改主机文件。如果您希望用户能够尽可能简单地执行shell脚本(例如双击图标),您可能需要查看使用AppleScript执行shell脚本。 AppleScript可以存储为可执行文件,以便轻松传递它。