脚本是否可以运行,即使它们未设置为可执行文件?

Modified on: Sat, 09 Jun 2018 04:18:53 +0800

我可以使用和不将它们设置为可执行文件来运行脚本(.sh)。那么这究竟在哪里呢?

作者:Ashfame

最佳答案

假设您有myscript文件,其中包含以下内容:

#!/bin/bash echo "Hello, World!"

如果你使这个文件可执行并用./myscript运行它,那么内核会看到前两个字节是#!,这意味着它是一个脚本-文件。然后内核将使用该行的其余部分作为解释器,并将该文件作为其第一个参数传递。所以,它运行:

#!/bin/bash
echo "Hello, World!"

和bash读取文件并执行它包含的命令。

因此,对于bash(或脚本需要的任何解释器)来“执行”脚本,它只需要能够读取文件。

因此,对于脚本,执行位只是使执行它更方便。只要bash是可执行的,您始终可以使用脚本文件作为参数运行bash,或者以交互方式运行bash并将脚本逐行复制粘贴到终端中以执行命令。

作者:,geirha

相关问答

添加新评论