【问题标题】:Getting started on a MAC OSX script/program that needs to get a result from a URL [closed]需要从 URL 获取结果的 MAC OSX 脚本/程序入门 [关闭]
【发布时间】:2016-08-03 02:44:22
【问题描述】:

我来自 Windows 编程背景,我需要在 MAC OSX 世界中复制一个简单的 Windows 控制台应用程序。它实际上是从日常脚本中调用的,但它需要执行以下操作: 1) 检查特定文件的网络文件共享。 2) 如果该文件存在,则使用一个查询字符串参数调用网站 URL。该网站 URL 仅返回 YES 或 NO 作为字符串返回(不返回 HTML 标记标签)。 3) 如果返回是,则删除该文件。

就是这样,我刚开始看,我看到对 cocoa、x-code、swift 的引用。走哪条路,什么会特别支持从 URL 中返回结果?

我需要指出正确的方向,您希望添加的任何其他内容让我继续前进,我们将不胜感激。谢谢!我感谢即将到来的任何帮助!冒险进入一个全新的世界。

【问题讨论】:

  • 您不需要任何已标记的内容。您可以打开一个终端窗口(CMD+空格并开始输入“终端”并在猜测时按“回车”)。然后使用带有curlbash 脚本。见stackoverflow.com/a/638980/2836621
  • 谢谢 Mark,是否也可以使用 curl 从 URL 中获取结果?
  • 是的,要获得curl 或其他任何方面的帮助,请使用man curl 查看手册。使用SPACE 获取下一页并使用q 退出。尝试在终端中输入curl www.google.com

标签: macos bash curl


【解决方案1】:

尝试使用文件名MyScript 将以下内容保存在您的桌面上:

#!/bin/bash

# Store the name of the file in a variable
file="/Volumes/SomeServer/SomeFile"

# Store website URL
website="http://SomeServer.com"

# Check if file exists
if [ -f "$file" ]; then
   echo File $file exists
   curl -L --silent "$website" | grep -q "YES"
   if [ $? -eq 0 ]; then
      echo Would delete file $file
      # rm "$file"
   fi
else
   echo File $file does not exist
fi

您需要更改开头的行:

file="..."
website="..."

然后使用 + space 启动终端并开始输入“终端”,直到它猜测您想要终端应用程序。然后按Enter。这被称为“Spotlight 搜索”,它是在 Mac 上查找内容的方法。

现在使用以下命令使上述脚本可执行,您只需执行一次:

chmod +x $HOME/Desktop/MyScript

现在你可以通过输入来运行它:

$HOME/Desktop/MyScript

或双击桌面上的MyScript 文件。

目前,脚本实际上并没有删除文件 - 我不喜欢删除其他人的文件。如果它按您的预期工作,您可以像这样从行中删除 # 符号,然后它实际上会删除文件:

# rm "$file"

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-12
    • 2013-03-12
    • 2011-07-30
    • 1970-01-01
    • 1970-01-01
    • 2014-07-18
    相关资源
    最近更新 更多