gpt4 book ai didi

bash - 未找到 expr 命令?为什么没有找到 expr 而其他的都找到了?

转载 作者:行者123 更新时间:2023-12-05 08:42:53 24 4
gpt4 key购买 nike

我花了几个小时试图让下面的代码工作

    PATH="C:\Ben\MyPictures"
echo $PATH
MY=`expr 2 + 2`

但这不会起作用,因为“expr: command not found”。我在 StackOverflow 上唯一发现的是路径问题(即设置我的环境变量),但如果这是问题所在,为什么其他函数(如 echo、let 和 declare)已经可以正常工作了?

有关更多上下文,这是在几乎全新安装的窗口的 cygwin 上。我的问题是为什么我找不到 expr?

最佳答案

您已将PATH 修改为只有1 个目录(因此找不到expr)。您必须将新路径附加到 PATH 而不是替换现有的 PATH 值,如下所示:

export PATH="$PATH:C:\Ben\MyPictures"

除了调用外部进程 expr 进行计算之外,您还可以使用 bash 的内置算术计算:

$ echo $((2+2))
4

编辑:

是的,它们可以工作,因为它们不是可执行文件,是从 $PATH 中列出的目录中找到的。

相反,它们(echotype 等)是由 bash shell 本身提供的功能,称为 shell 内置函数。

输入 type echotype expr 来知道它是什么类型的命令(别名/shell 内置/可执行文件等)

通常可以通过 help shellBuiltin 找到 Shell 内置帮助,因为我们使用 man 页面来获取可执行文件。

PS:type本身是一个内置的shell(参见type类型)

关于bash - 未找到 expr 命令?为什么没有找到 expr 而其他的都找到了?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37269832/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com