[英]How to execute a file without .sh extension in shell
我想在 bash 中执行一个没有 .sh 扩展名的文件。
示例:我有可以直接执行的文件“abc.sh”(因为我添加了 #!/bin/bash 作为第一行)但我希望文件名只是“abc”
如果该文件已经可以作为abc.sh
,那么您需要做的就是
mv abc.sh abc
(假设您位于文件所在的目录中)
在 Linux 或 Unix shell 中,文件扩展名不影响它是否会执行。
在 Linux 中,您也可以使用./filename
运行脚本。 你需要执行权限:
chmod 755 filename
但是你仍然需要“Shebang”:
#!/bin/bash
从 这里我得到了这个:
如果您没有将脚本目录放在 PATH 中,并且 . (当前目录)也不在 PATH 中,您可以像这样激活脚本:
./script_name.sh
脚本也可以由给定的 shell 显式执行,但通常只有在我们想要获得特殊行为时才这样做,例如检查脚本是否与另一个 shell 一起工作或打印跟踪以进行调试:
rbash 脚本名称.sh
sh脚本名称.sh
bash -x 脚本名称.sh
文件的权限是什么? 要通过执行./abc.sh
之类的./abc.sh
使其可执行,它需要具有 EXECUTABLE 权限。
你总是可以做bash abc.sh
Linux 中的文件名在执行能力方面没有任何意义,您可以调用文件myfile.something.something
并且它仍然可以执行。 您可以将其命名为abc
但它必须具有用户、组、其他的EXECUTABLE
权限。
要添加该权限,您可以执行chmod +x <filename>
但您应该查看上面的链接以获得更好的理解。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.