【问题标题】:How to turn off ".\" in powershell when execute local command?执行本地命令时如何在powershell中关闭“.\”?
【发布时间】:2011-03-11 08:41:21
【问题描述】:

默认情况下,Powershell 在任何本地可执行文件之前都需要“.\”。因此,要在 Powershell 中执行本地命令,您需要输入类似

.\foo arg1

如何关闭输入“.\”的要求,这样我就可以运行了

foo arg1

“.\”的正确名称是什么?

【问题讨论】:

    标签: powershell


    【解决方案1】:

    .是当前目录,\是路径分隔符。这意味着.\foo 是 foo 程序的相对路径。

    如果. 未包含在您的PATH 环境变量中,您必须按上述方式指定它。为避免这种情况,您可以将 . 添加到您的 PATH 变量中。但根据经验,永远不要这样做,因为它会导致安全风险。最好使用.\foo,甚至更好地提供绝对路径。

    【讨论】:

    • 谢谢,实际上我知道这可能会导致安全问题(有人可以将恶意可执行文件放置到您的本地文件夹中)。但是,我真的不认为这对我当地的环境来说可能是个大问题。让我检查一下。
    【解决方案2】:

    这是一项安全功能,可确保您仅在所需位置运行可执行文件。这可确保您运行的是正确的可执行文件,而不是被劫持的。

    这是一种语言/shell 实现,您无法将其关闭,IMO。

    【讨论】:

      【解决方案3】:

      你不能把它关掉,但是你可以把你的函数放在一个模块中(甚至是你在其他地方加载的脚本),然后加载它,然后至少调用这些函数看起来更好(没有 .\呵呵

      【讨论】:

        【解决方案4】:

        也许。不在路径中,tabcompletion 函数会检测到这一点,因此如果您编写 foo[TAB] 则自动扩展为 .\foo。出于这个原因,如果制表符完成处理,我看不到“额外工作”在哪里放置点和斜线。

        【讨论】:

          猜你喜欢
          • 2014-11-03
          • 1970-01-01
          • 1970-01-01
          • 2011-03-31
          • 2018-11-02
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多