假设我与可执行文件位于同一文件夹中,我需要输入以下内容来执行它:
./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