我想python3在pythonWindows 上使用别名。我已经按照此答案中的描述删除了微软商店的别名。然而python3仍然不知道别名。我该如何解决这个问题?
例如,我想将 notepad++ 添加到我的 PATH,但是该目录还包含uninstall.exe和其他几个文件/可执行文件,我不希望它们“污染”我的路径。我可以只添加一个notepad++.exe吗?
我已经安装了 Java-8。现在我想默认回到 Java-7,所以我输入...
/usr/libexec/java_home -v 1.7.0_40 --exec java -version
/usr/libexec/java_home -v 1.7.0_40 --exec javac -version
Run Code Online (Sandbox Code Playgroud)
但是我还是看...
java -version
java version "1.8.0-ea"
Java(TM) SE Runtime Environment (build 1.8.0-ea-b108)
Java HotSpot(TM) 64-Bit Server VM (build 25.0-b50, mixed mode)
Run Code Online (Sandbox Code Playgroud)
这确实有效...
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.7.0_40.jdk/Contents/Home
Run Code Online (Sandbox Code Playgroud)
但我想要一个更永久的解决方案。
有人看到我做错了什么吗?
有这两个环境变量 TEMP 和 TMP 对吗?如果我对一个进行更改,我是否应该对另一个进行相同的更改?例如,我正在安装 cygwin 并且方向告诉我更改 PATH 变量,但是 TEMP 和 TMP 都有路径变量。两者有什么区别?

不知道为什么人们想要看到这个,但这里是路径的值: TEMP 中的路径:C:\Program Files\Common Files\Microsoft Shared\Windows Live;C:\Program Files (x86)\Common Files\Microsoft Shared\ Windows Live;C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\; C:\Program Files (x86)\Common Files\Acronis\SnapAPI\;C:\Program Files (x86)\Windows Kits\8.1\Windows Performance Toolkit\;C:\Program Files\Microsoft SQL Server\110\Tools\ Binn\;C:\Program Files (x86)\Windows Live\Shared
TMP 中的路径:%USERPROFILE%\AppData\Local\Temp
我在 Debian 中使用 fish 作为我的 shell,最近(经过一些升级后)每当我尝试使用命令完成时,我都有:
set: No such file or directory
set: Could not add component /usr/lib/x86_64-linux-gnu/libfm to PATH.
set: No such file or directory
Run Code Online (Sandbox Code Playgroud)
运行这个:
echo $PATH
Run Code Online (Sandbox Code Playgroud)
给我这个:
/usr/lib/x86_64-linux-gnu/libfm /usr/local/bin /usr/bin /bin /usr/local/games /usr/games
Run Code Online (Sandbox Code Playgroud)
在我的系统中没有/usr/lib/x86_64-linux-gnu/libfm,所以我明白为什么鱼在抱怨,但我找不到如何从我的$PATH变量中删除这条路径。
有谁知道我该怎么做?
我有一组服务器,每个服务器都有配置文件,这些文件当前包含敏感的关键任务系统(消息队列、数据存储和其他服务)的纯文本密码。
有些人将关键密码从配置文件中移到运行服务器进程的用户帐户的环境变量中。这样就可以将配置文件提交到版本控制,系统管理员只需要在服务器系统搭建时创建一个合适的环境变量即可。自然,对运行这些服务的帐户的访问受到很大限制。
这真的是避免纯文本配置文件中的密码的最佳方法,还是有更好的方法?
我弄乱了我的路径变量,现在我运行的一些应用程序引发了错误,说没有找到命令(错误 127),例如date和sleep。当直接在 shell 中执行时,这些命令工作正常。
我猜这与格式错误的 $PATH 变量有关,并且需要知道如何重置它。我已经删除了文件~/.bashrc、~/.bash_profile、/etc/bash.bashrc、~/.bashrc和~/.profile。
还有哪些文件可以保存我的$PATH?是否有一些更简单的方法来重置路径而不是挖掘可以保存我的路径的无数文件?
请注意,此路径问题仅与我的用户有关。我在我的系统上做了一个测试用户,路径很好,恢复正常。
更新:谢谢。我不知道我删除的哪个文件做了它,但事情又恢复了。你们做了“专家”做不到的事情。是的,克里斯,你是对的。我所做的 PATH 自定义在 bash_login 中。但不知何故,它在没有我删除这些自定义的情况下工作。我想可能是因为我使用了这个名为“RCEnvironment”的预制面板,并且我输入了一个带有引号和 :PATH 的路径。我不知道它是否需要引号,并且它不会替换 :$PATH,所以这可能是错误的根源。我忘了我什至有那个prefpane!
我知道如何设置系统或用户特定的环境变量:

现在,问题是PATH变量的处理方式是,您为用户 PATH 输入的值将自动附加到系统 PATH 中,这将是有效的 PATH 变量。
也就是说,说我有
(系统) PATH=C:\Windows\System32;C:\Program Files\Foo\bin;...
和 (USER) PATH=C:\Program Files\Bar\bin(注意%PATH%这个值中没有)
那么此用户的结果环境变量将是:
(有效的) PATH=C:\Windows\System32;C:\Program Files\Foo\bin;...;C:\Program Files\Bar\bin
但是,我希望对于非常特定的操作系统用户帐户,PATH 环境变量应该bar\bin在 PATH 的开头而不是结尾处包含目录。
有没有一种正确的方法可以告诉 WindowsPATH使用该用户的值完全覆盖用户的变量,而不是将其附加到系统PATH变量?
注意:显然,从批处理文件中,所有这些都无关紧要,因为您可以根据需要设置和调整 env.vars。
对于某些 shell 会话,如果未设置和导出 shell 变量,我希望能够打印警告标志。
如果SET_ME未设置或为空,则执行类似操作以在提示中打印“错误”相当简单。
test_var () { test -z "$1" && echo Error; }
PS1='$(test_var "$SET_ME") \$ '
Run Code Online (Sandbox Code Playgroud)
但是,如果我设置SET_ME而不导出它,则无法标记,这是我希望能够检测到的错误。$(bash -c 'test -z "$SET_ME" && echo Error;')缺少类似或 grepping 的输出export,是否有一个简单的检查可以测试是否SET_ME已导出?
完全可以接受非 POSIX、仅 bash 的解决方案。
如何在 Mac OS X 中设置环境变量,以便它们可用于 GUI 应用程序而不使用~/.MacOSX/environment.plist或登录挂钩(因为这些已弃用)?