【问题标题】:Linux: Curl installed but -bash: :curl: command not foundLinux:已安装 Curl,但未找到 -bash: :curl: 命令
【发布时间】:2019-04-09 20:04:49
【问题描述】:

在 r710 上运行 Debian Stretch。使用 non-free/contrib 构建来支持驱动程序。

当我尝试使用已安装的包(curl、zpool 等)时,我必须包含包的路径...当我并不总是知道包安装到哪里时,这很痛苦。

两个问题:

  1. 如何在短期内解决路径问题?
  2. 如何修改 Debian,以便在安装软件包时,它们的路径会自动更新/安装?

【问题讨论】:

  • 你是如何安装它们的?他们的路径是什么?
  • 须藤 apt-get 安装。所以在 curl 的情况下: sudo apt-get install curl
  • 在这种情况下您必须指定curl 的路径是什么? /usr/bin/curl?如果是这样,您只是在您的 .bashrc 或类似名称中弄乱了您的 PATH
  • 您正在运行的失败的命令到底是什么?您的错误消息显示 -bash: :curl: command not found 但这意味着您正在运行 :curl 而不是 curl
  • 这还是很奇怪的。在第一种情况下,您有一个额外的冒号。在第二种情况下,您缺少一个冒号。请确保准确复制粘贴错误,it matters a lotecho "$PATH" 说什么?

标签: bash debian debian-stretch


【解决方案1】:

查找命令的存储位置

which <command>

您可以尝试从上面的输出中运行 curl,例如 /usr/bin/curl,然后尝试执行:

 /usr/bin/curl

在解决实际问题之前进行临时修复:

cd /usr/local/bin; ln -s $(which curl) curl

或者你可以设置一个别名:

echo "alias curl='$(which curl)'" >> ~/.bashrc; . ~/.bashrc

解决您的问题:

检查 PATH 文件夹是否具有正确的导出路径:

printf "%s\n" $PATH

修改当前路径

使用 export 命令添加新路径并查看是否可行,然后您可以更新您的 ~/.bashrc 或 ~/.bash_profile,但首先您可以在 shell 中尝试,而不将其永久添加到 $PATH

export PATH=$PATH:/missed/bin/folder

要格式化您的 PATH 变量以便以后查看,您可以将以下函数添加到您的 .bashrc 中

function path(){
    old=$IFS
    IFS=:
    printf "%s\n" $PATH
    IFS=$old
 }

【讨论】:

  • 我已经完成了:$ docker run -it --name flask_test ubuntu /bin/bash 然后:$ curl 返回 "bash: curl: command not found" 然后 $ which curl 什么也不返回。
【解决方案2】:

只需通过以下方式安装它:

安装 curl

或 sudo apt install curl

【讨论】:

    猜你喜欢
    • 2021-10-25
    • 1970-01-01
    • 2017-03-31
    • 2015-07-09
    • 2015-08-03
    • 2019-11-29
    • 2012-12-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多