Zsh 功能使用搜索查询打开 Google Chrome 会打开错误的 URL

问题描述 投票:0回答:1

我正在尝试在 macOS 上创建一个 Zsh 函数,以在新选项卡中打开 Google Chrome。该功能应该:

  • 在不带参数调用时打开一个新的空白选项卡。
  • 执行谷歌 当提供搜索查询作为参数时进行搜索。这是 我已添加到我的 ~/.zshrc 文件中的函数:
 function openChrome() {
      if [ -z "$1" ]; then
        # No arguments provided; open a new tab
        open -na "Google Chrome" --args --new-tab
      else
        # Argument provided; perform a Google search
        local search_query="$*"
        local encoded_query=$(echo "$search_query" | sed 's/ /+/g')
        local google_search_url="https://www.google.com/search?q=$encoded_query"
        open -na "Google Chrome" --args "$google_search_url"
      fi
    }

预期行为:

  • 运行 openChrome 应在 Google Chrome 中打开一个新的空白选项卡。
  • 运行 openChrome“今日天气”应在 Google Chrome 中打开一个新选项卡,并在 Google 中搜索“今日天气”。

实际行为:

  • 不带参数运行 openChrome 按预期工作,打开一个新的空白选项卡。
  • 运行 openChrome“今日天气”会打开一个新选项卡,其 URL 为 http://todays%20weather/,这不是预期的 Google 搜索。

我尝试以多种方式对参数进行 url 编码,但无法产生任何结果。任何帮助将不胜感激。蒂亚!

macos shell google-chrome zsh urlencode
1个回答
0
投票

对我来说问题是我没有获取

.zshrc
文件。再次执行此操作并重新启动终端似乎对我有用(在 macOS Sequoia 15.1 中)。

感谢您的帮助,我会将问题标记为已解决。

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.