我想在没有.sh扩展名的bash中执行文件。
示例:我有文件" abc.sh"我可以直接执行(因为我添加了#!/ bin / bash作为第一行)但我希望文件名只是" abc"
答案 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中的文件名并不代表执行功能方面的任何内容,您可以调用文件myfile.something.something
,它仍然可以执行。您可以将其命名为abc
,但必须为用户,群组和其他人拥有EXECUTABLE
权限。
要添加该权限,您可以执行chmod +x <filename>
,但您应该查看上面的链接以便更好地理解。