在 Windows 命令提示符下检测到 BigQuery,但在 Bash 上未检测到

Posted

技术标签:

【中文标题】在 Windows 命令提示符下检测到 BigQuery,但在 Bash 上未检测到【英文标题】:BiqQuery detected on windows command prompt but not on Bash 【发布时间】:2020-05-20 23:11:58 【问题描述】:

我已经在我的 Windows 10 机器上安装了 Cloud SDK,并且能够在我的命令提示符下运行“gcloud”、“gsutil”和“bq”等命令。但是,当我在 Bash 上运行“gsutil”或“bq”时,这就是我遇到的错误。

$ bq

bash: bq: command not found

然后我将此位置添加到 PATH C:\Users\User\AppData\Local\Google\Cloud SDK\google-cloud-sdk\bin,之后我似乎可以使用 gsutil.cmdbq.cmd 调用 gsutilbq。但当然,我更喜欢直接调用 bq / gsutil。

以前有人遇到过这个问题吗?谢谢!

【问题讨论】:

【参考方案1】:

我找到了一种可能的解决方案!

    在 Bash 中,通过键入 cd 转到根 bash 文件夹 输入touch .bashrcalias bq="bq.cmd"alias gsutil="gsutil.cmd"或两者兼而有之 按Esc 并输入:qaEnter 保存并退出

这告诉 Bash 将 bq 记住为调用 bq.cmd,因此现在我可以在任何地方调用 bq ——据我所知。

如果有人有更好的建议,请告诉我!谢谢!

【讨论】:

【参考方案2】:

在 bash 会话本身中,检查 echo $PATH 返回的内容。它应该继承在 Windows 上定义的路径。

所以打开一个新的 CMD 会话,然后:

确保%PATH% 包含C:\Users\User\AppData\Local\Google\Cloud SDK\google-cloud-sdk\bin, 然后调用 C:\path\to\Git\bin\bash.exe 打开一个 bash 会话

bq 应该在这样的 shell 会话中工作。

【讨论】:

您好 VonC,是的 %PATH% 确实包含您指定的路径,是的,我能够执行您的第二步。但是 Bash 不应该能够从我打开 Bash 的任何文件夹中启动 bq / gsutil 吗? @johnconnor92 如果 Cloud SDK 路径是从用户变量而不是系统环境变量 (***.com/a/16305526/6309) 在 PATH 中声明的,则不会。资源管理器中的上下文菜单可能会打开仅包含系统变量的会话。或者至少先尝试重新启动,看看问题是否仍然存在。

以上是关于在 Windows 命令提示符下检测到 BigQuery,但在 Bash 上未检测到的主要内容,如果未能解决你的问题,请参考以下文章

javac在Windows命令提示符下不起作用

windows查看路由表的命令

windows98

显示 Windows 命令提示符输出并将其重定向到文件

如何在windows系统上安装OpenDDS 3.12

Windows环境下打开cmd进入到指定目录的两种方法