在 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.cmd
和 bq.cmd
调用 gsutil
和 bq
。但当然,我更喜欢直接调用 bq / gsutil。
以前有人遇到过这个问题吗?谢谢!
【问题讨论】:
【参考方案1】:我找到了一种可能的解决方案!
-
在 Bash 中,通过键入
cd
转到根 bash 文件夹
输入touch .bashrc
写alias bq="bq.cmd"
或alias gsutil="gsutil.cmd"
或两者兼而有之
按Esc
并输入:qa
和Enter
保存并退出
这告诉 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 上未检测到的主要内容,如果未能解决你的问题,请参考以下文章