AppleScript的。如何将预设的dyndns解析为当前IP并将其用作shell命令中的变量

时间:2013-09-04 05:05:46

标签: macos ip applescript vnc resolve

我对mac很新,并且不知道如何做到这一点。基本上我正在使用远程VNC脚本,应用程序本身工作得很好,我加载它的脚本也可以工作,但是我无法将它解析为ip的名字..

所以我喜欢在使用applescript编写脚本之前,在加载VNC应用程序并将当前IP推送到它给shell的命令之前执行此操作。

目前脚本是这个

做shell脚本“'/ Vine Server.app/OSXvnc-server'-connectHost myhost.dyndns.org -connectPort 5905”

如果我在主机的位置插入IP地址,它就可以了。但它不会解决所以希望有人可以告诉我如何让Applescript做到这一点。

如果我感到困惑,那就是我正在寻找的东西。

执行shell脚本“'/ Volumes / Remote Connection / Vine Server.app/OSXvnc-server'-connectHost ”Applescript插入IP“ -connectPort 6000”

感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

有一个命令行实用程序“host”可以为您执行此操作。我做了一个小的处理程序ipForHostName()来运行host命令并解析文本只返回ip地址......

set hostName to "myhost.dyndns.org"
set ipAddress to ipForHostName(hostName)

do shell script "'/Vine Server.app/OSXvnc-server' -connectHost " & quoted form of ipAddress & " -connectPort 5905"

on ipForHostName(hostName)
    try
        do shell script "/usr/bin/host " & quoted form of hostName & " | grep \"has address\""
        return last word of result
    on error
        return hostName
    end try
end ipForHostName