我有一个包含这两行的 Makefile
run: sim
@python run.py $(INPUT)
当我尝试运行时make run
,我收到错误消息,提示python
未找到。我很快意识到这是因为我只有python3
,所以我添加了以下行
alias python=python3
分别添加到文件~/.bashrc
和~/.profile
。也就是说,我尝试通过将此别名添加到两个不同的文件来修复该问题两次。但是,即使在我获取文件并可以python
在终端中运行后,make run
仍然会出现相同的错误。
但是,我通过运行 安装软件包后问题就解决了apt install python-is-python3
。虽然我不再遇到这个问题,但我不知道它是如何修复的。不就是创建一个从到 的python-is-python3
符号链接吗?这与我尝试的别名方法有什么不同吗?/usr/bin/python
python3
答案1
python-is-python3 不就是创建一个从 /usr/bin/python 到 python3 的符号链接吗?
是的。
这和我尝试过的别名方法有什么不同吗?
是的 - bash 别名只能在交互式 bash shell。默认情况下使用的 shellmake
是/bin/sh
,并且不是交互式的。符号链接在文件系统级别处理,因此独立于 shell。
有关 shell 和 Makefile 的进一步讨论,请参阅如何在 Makefile 目标中使用 Bash 语法?