编写完脚本后,您可以通过以下方式调用它:sh scriptname,[1] 或者bash scriptname。(不建议使用sh <scriptname,因为这实际上禁用了从脚本内的 stdin 读取数据。)更方便的方法是使用 chmod 使脚本本身可以直接执行。
chmod 555 scriptname(授予所有人读取/执行权限)[2]
chmod +rx scriptname(授予所有人读取/执行权限)
chmod u+rx scriptname(仅授予脚本所有者读取/执行权限)
使脚本可执行后,您现在可以通过以下方式测试它:./scriptname。[3] 如果它以 "sha-bang" 行开头,则调用脚本会调用正确的命令解释器来运行它。
作为最后一步,在测试和调试之后,您可能会希望将其移动到/usr/local/bin(当然,以 root 身份),以使脚本可供您自己和所有其他用户作为系统范围内的可执行文件使用。 然后,只需从命令行键入 scriptname [ENTER] 即可调用该脚本。
[1] | 注意:通过以下方式调用 Bash 脚本sh scriptname会关闭 Bash 特定的扩展,因此脚本可能无法执行。 |
[2] | 脚本需要 读取 以及执行权限才能运行,因为 shell 需要能够读取它。 |
[3] | 为什么不简单地用以下方式调用脚本scriptname? 如果您所在的目录 ($PWD) 是scriptname所在的位置,为什么这不起作用? 失败的原因是,出于安全考虑,当前目录(./)默认情况下不包含在用户的 $PATH 中。 因此,有必要使用以下命令显式地在当前目录中调用该脚本./scriptname. |