为什么有些程序需要Path值,而另一些程序在Windows中却不需要?

用户名

为什么当我在Windows 7/8/10或某些UNIX合适的程序(例如GNU Tar)安装Composer,我需要设置它们的Path值,否则,它们将不能被其他程序使用?

TOOGAM

我为Microsoft Windows回答了这个问题。我看到这里也有一个Linux标签。好吧,同样的概念也适用。(最后一段提到了更多Linux注释。)

如果程序不在PATH环境变量指定的目录中,则可以使用它们。但是,它不太方便。

例如,即使它不在路径中,我也经常运行7-Zip。因此,我不以“ 7z”开头命令行,而是以命令行开头:
"C:\Program Files\7-Zip\7z.exe"

那并没有看上去那么糟糕,因为我实际键入的内容通常更像是:
C:\ tabPro tab7 tab7tab

(我会听见如果有错字可能会发出的哔哔声,在使用tab键进行最后扩展后,我还会检查命令行的准确性,以确保它能按我的意愿运行。)

程序可以检查您如何在命令行上引用该程序,并可以检查当前目录。因此,程序可以根据其是否在PATH中来执行不同的操作。但是,那是不可能的。

替代解决方案:调整PATH环境变量,使其也包括安装程序的目录。

另一个替代解决方案:只需将可执行文件放入PATH中已经存在的目录中即可。(但是,某些程序更复杂,因为它们可能还需要将其他文件(例如DLL文件)复制到这样的目录中;因此,通常不建议您通过运行“安装”来对需要“安装”的程序使用此方法。程序”。但是,对于可以直接运行而无需一堆支持文件的简单可执行文件,这通常是可行的。)

在Linux中,有一些细微的差异:您将只使用“ echo ${PATH}”代替“ echo %PATH%”,使用正斜杠代替反斜杠,使用7za7-Zip代替7z.exe如果您希望调整路径,则可以使用其他命令,例如export,但实际上取决于您使用的shell。)

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

为什么有些numpy数据类型可以序列化JSON,而另一些却不能序列化?

为什么某些Ruby方法需要爆炸,而另一些则不需要成为破坏性方法?

为什么有些方法使用点符号,而另一些却不使用点符号?

为什么有些内存地址报告为常数,而另一些则更改?

返回Option时不需要一些吗?

windeployqt错过了一些库,但得到了一些不需要的库

为什么列表结构中的某些功能需要“列表”前缀,而有些则不需要?

为什么有些字符串会转换为数字,而另一些字符串却不在javascript中

Django TestCase类-为什么有些方法是驼峰式,而另一些是蛇形?

为什么有些C#api方法需要[HttpPost]而有些则不需要?

为什么有些驱动程序仍需要固件?

为什么有些程序立即返回外壳程序,而另一些程序直到执行完成才返回外壳程序?

为什么有些类需要main方法,而另一些则不需要呢?

为什么/为什么有些类需要每个可能的参数,而有些则不需要?

TRegistry-为什么有些键可读,而另一些则不可读?

为什么有些程序需要-h而另一些则不需要

为什么有些程序需要安装,而其他程序则不需要?

为什么有些应用程序需要首先“安装”才能运行,而其他应用程序则不需要?

为什么有些角度指令需要双重卷曲,而另一些则不需要?

为什么有些信号被束缚而另一些则没有束缚?

为什么某些程序正确传递子程序的TTY颜色,而另一些却不正确呢?

正则表达式多个带有可选参数的URL,一些URL需要反向引用,有些则不需要

为什么有些程序以未定义的行为执行而另一些却没有呢?

为什么有些别名在xterm中起作用,而另一些别名却不起作用?

为什么有些工具(例如 dd)不需要挂载点来处理设备?

为什么有些 JavaScript 函数需要创建一个新变量,而有些则不需要?

从 SQL 结果中不需要一些凭证

为什么有些库需要嵌入而有些则不需要?

在 PyQT 中为什么有些小部件在调用它们之前需要“self”参数,而有些则不需要