作为 .test 而不是 ./test 执行

作为 .test 而不是 ./test 执行

假设我与可执行文件位于同一文件夹中,我需要输入以下内容来执行它:

./file

我宁愿不必打字/,因为/打字对我来说很难。

有没有更简单的方法来执行文件?理想情况下只是一些简单的语法,例如:

.file

或其他东西,但比必须/在那里插入字符更容易。

也许有某种方法可以将某些内容放入/bin目录中,或者为解释器创建别名,以便我可以使用:

p file

答案1

.将自动完成到./(键入.并按Tab)至少在现代 Bash shell 中如此,因此您不必使用复杂或不安全(如PATH修改)的解决方案。

如果它没有自动完成,您可能需要安装“bash-completion”包。

答案2

或者..也许在 bashrc 文件中给解释器一个别名,然后简单地

   p  file

可以写这样一个函数:

p() {
 ./"$@"
}

在你的~/.bashrc。然后你就可以运行p app arguments而不是./app arguments.该解决方案适用于任何类型的可执行文件,包括脚本和二进制文件。

"$@"扩展为传递给函数的参数的适当引用列表(保留全局或变量扩展中的所有特殊字符),并且正如 @Scott 指出的那样,它足够聪明,可以在第一个参数前面bash添加,保留其余部分。./

答案3

它可能是“有风险的”,但你可以这么做。在你的路径中。

正如其他人所说,这可能很危险,因此请务必确保。位于 PATH 的末尾而不是开头。

答案4

例如,您可以呼叫口译员

bash test

在这种情况下,即使脚本既没有 shebang 行(例如#!/bin/bash)也没有可执行位,它也会运行。您还必须知道正确的解释器才能运行它。您可以先读取文件的 shebang 行,以确保调用正确的解释器,例如,如果 shebang 行显示

#!/usr/bin/env python3

你会打电话给

python3 test

相关内容