如何在shell中执行没有.sh扩展名的文件

时间:2016-11-21 13:43:32

标签: linux shell unix sh

我想在没有.sh扩展名的bash中执行文件。

示例:我有文件" abc.sh"我可以直接执行(因为我添加了#!/ bin / bash作为第一行)但我希望文件名只是" abc"

3 个答案:

答案 0 :(得分:4)

在linux中你使用./filename也运行一个脚本!而且你需要执行权限:

chmod 755 filename

但你仍然需要“Shebang”

#!/bin/bash

编辑:

here我得到了这个

  

如果你没有将脚本目录放在PATH中,那么。 (该   当前目录)也不在PATH中,可以激活   像这样的脚本:

     

./ script_name.sh

     

脚本也可以由给定的shell显式执行,但是   一般来说,如果我们想要获得特殊行为,我们只会这样做   检查脚本是否与另一个shell或打印跟踪一起使用   用于调试:

     

rbash script_name.sh

     

SH script_name.sh

     

的bash -x script_name.sh

答案 1 :(得分:1)

如果文件已经可以abc.sh执行,那么您需要做的只是

mv abc.sh abc

(假设您位于文件所在的目录中)

在Linux或Unix shell中,文件扩展名不会影响它是否会执行。

答案 2 :(得分:0)

该文件的权限是什么?为了使其像./abc.sh那样可执行,它需要具有EXECUTABLE权限。

您始终可以bash abc.sh

Linux permissions overview

Linux中的文件名并不代表执行功能方面的任何内容,您可以调用文件myfile.something.something,它仍然可以执行。您可以将其命名为abc,但必须为用户,群组和其他人拥有EXECUTABLE权限。

要添加该权限,您可以执行chmod +x <filename>,但您应该查看上面的链接以便更好地理解。