我不小心打字:
sudo ln -sf /usr/local/bin/python2.5/ /usr/bin/python
而不是:
sudo ln -sf /usr/local/bin/python2.5 /usr/bin/python
现在bash告诉我,每当我运行python时,/ usr / bin / python都不是目录。
ls -l /usr/bin/python gives me expectedly /usr/bin/python --> /usr/local/bin/python2.5/
是否有任何安全方法可以删除指向目录(不存在)的符号链接,并将其替换为指向目标文件的链接?
如果您有任何想法,请提前<\ n> Arigato。我被困了......
答案 0 :(得分:5)
您只需删除与rm:
的链接即可rm /usr/bin/python
答案 1 :(得分:0)
删除符号链接的方式与删除常规文件的方式相同,即使它是目录的符号链接。 (如果目标不存在,那么无论是目标还是文件都是一个没有实际意义的点。)
答案 2 :(得分:0)
使用此命令:
sudo update-alternatives --install /usr/bin/python python /your/path/to/python3.2 1
(请参阅手册页了解更新 - 替代信息。终端&gt; man update-alternatives)
我很想知道我为管理不同版本的同名软件的更新替代系统搞砸了多少。例如,我认为scons在python2.7上运行,而blender在内部使用python3.2构建。事情还能正确解决吗?我们会看到......