7

我创建了一个名为“testfile”的文件,并使用chmod +x testfile. 为了执行文件“testfile”,我需要运行命令./testfile

我需要知道有什么方法可以在不使用./和使用testfile命令执行文件的情况下运行程序?

下面显示的是文件“testfile”中的一个简单代码

echo Todays date is : 
date
4

3 回答 3

9

您可以在没有 ./ 的情况下使用以下命令执行它:

sh testfile

或者

sh /path/to/file/testfile

编辑
如果你想直接用命令执行程序,你可以做的是定义一个别名:

alias execute_testfile="sh /path/to/file/testfile"

然后,您将在编写时执行程序

execute_testfile

或您定义的任何名称。

要使此别名持久化,请alias ...在 ~/.profile 或 ~/.bash_profile 文件中包含该行。

于 2013-02-18T09:40:00.823 回答
4

您可以在您的主目录下找到的 .profile 文件中定义 PATH 变量。

vi ~/.profile

添加到您的 .profile 末尾

/path/to/dir/:$PATH

这意味着“将 /path/to/dir/ 添加到任何设置的 PATH 变量”

如果您想为系统的所有用户添加一个目录到 PATH 中,您可以:

vi /etc/environment - edit, save your changes
source /etc/environment
echo $PATH - should now return your new PATH

在 Ubuntu 服务器上工作,我猜在所有 Debian 发行版上,我不确定其他发行版是否有 /etc/environment 或者是否在其他地方指定了 PATH

别名仍然是一个更好的解决方案

vi ~/.bashrc

添加到文件末尾

alias <your_script> ='/path/to/your_script.sh'

注销,重新登录 - 你不应该再输入 ./.sh 了

于 2013-02-18T19:31:15.140 回答
3

您需要像这样添加.PATH变量中:

> echo 'echo Hello, World!' > mycommand
> mycommand
-bash: mycommand: command not found
> ./mycommand
Hello, World!
> PATH=".:$PATH";
> mycommand
Hello, World!
>
于 2013-02-18T09:26:27.547 回答