pyt*_*ark 2 linux path environment-variables
我重新安装了 ns2,但没有从文件系统中删除带有路径的文件:
/usr/bin/ns
Run Code Online (Sandbox Code Playgroud)
所以当我在终端上输入时:
which ns
Run Code Online (Sandbox Code Playgroud)
我得到:
/usr/bin/ns
Run Code Online (Sandbox Code Playgroud)
而不是我设置的路径是:
/home/me/ns-allinone-2.35/bin/ns
Run Code Online (Sandbox Code Playgroud)
这是在我的主目录中me。我应该如何删除文件系统中具有相似名称的文件?这个文件的属性在权限中说我不拥有这个文件,所以我不能更改权限。
如果路径设置不正确,我将无法运行我的 tcl 脚本并设置它,我需要删除重复的 .tcl 脚本ns。如何获得删除权限?以及如何使用我的终端删除它?
它不要求你删除的文件/usr/bin/ns,以使which与exec自动执行/home/me/ns-allinone-2.35/bin/ns。
你所要做的就是把/home/me/ns-allinone-2.35/bin你的$PATH 之前 /usr/bin。
这是错误的方法:
export PATH="${PATH}:/home/me/ns-allinone-2.35/bin"
在这种情况下,/usr/bin(默认情况下 on $PATH)将在扩展中比您想要的更早$PATH,因此您将/usr/bin/ns在运行ns或时执行which ns。
这是正确的方法:
export PATH="/home/me/ns-allinone-2.35/bin:${PATH}"
现在,只需键入ns或which ns将指向您想要的,而无需删除任何内容。
更新:如果您愿意,为了避免修改您的$PATHin~/.bashrc或类似内容,您可以围绕您的 tcl 脚本创建一个 bash 脚本包装器,该包装器首先修改路径。像这样的东西:
#!/bin/bash
export PATH="/home/me/ns-allinone-2.35/bin:${PATH}"
tcl ...
Run Code Online (Sandbox Code Playgroud)
如果您/usr/bin/ns 无论如何都想删除,并且您无权访问该root帐户或无法sudo(或将自己放入/etc/sudoers文件中),并且/usr/bin/ns归所有人所有root且不可写入世界,那么您通常无法选择删除这个文件,除非:
基本上,“如何删除我没有删除权限的文件”是一个加载问题:该问题假设机器的所有者希望您删除此文件,并希望授予您权限。如果机器的主人不是你,你甚至不应该问这个问题,我们不会帮助你打破或侵入别人的机器。这就像在说“我没有钥匙怎么在街上开这辆车?” ——是的,祝你好运。
| 归档时间: |
|
| 查看次数: |
1598 次 |
| 最近记录: |