如何在Shell中执行不带.sh扩展名的文件

Sai*_*ran 4 unix linux shell sh

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

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

Was*_*teD 6

在Linux中,您也使用./filename运行脚本!并且您需要执行权限:

chmod 755 filename

但是你仍然需要“ Shebang”

#!/bin/bash
Run Code Online (Sandbox Code Playgroud)

编辑:

这里我得到了

如果您没有将scripts目录放在PATH中,则和。(当前目录)也不在PATH中,您可以像这样激活脚本:

./script_name.sh

脚本也可以由给定的Shell显式执行,但是通常只有在我们希望获得特殊行为时才执行此操作,例如检查脚本是否与另一个Shell配合使用或打印跟踪以进行调试:

rbash script_name.sh

sh script_name.sh

bash -x script_name.sh


Cha*_*had 5

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

mv abc.sh abc
Run Code Online (Sandbox Code Playgroud)

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

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