.BAT相当于MAC

时间:2014-11-14 15:00:07

标签: macos batch-file hosts

我创建了一个.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,但没有成功。

2 个答案:

答案 0 :(得分:2)

MacOS是一个基于Unix的系统,所以你可以使用任何shell命令。在互联网上寻找“如何打击脚本”或“Sh脚本”

答案 1 :(得分:1)

可以使用Mac OS X上的shell脚本修改主机文件。如果您希望用户能够尽可能简单地执行shell脚本(例如双击图标),您可能需要查看使用AppleScript执行shell脚本。 AppleScript可以存储为可执行文件,以便轻松传递它。