我需要找到点命令的帮助.
,例如. ./my_script.sh
(我指的是第一个点。)
我已经尝试使用man .
和查找手册页man \.
。如何显示其中说明命令用法的手册页.
?
答案1
首先你应该调用type .
,你可能会得到类似的结果:
. is a shell builtin
内置命令是 shell 的一部分,它们没有自己的手册页。其中一些似乎有手册页,例如echo
Bash 中的内置命令,但很可能有一个单独的可执行文件,例如/bin/echo
在您的系统中,在这种情况man echo
下指的是后者。这两个echo
可能并不严格等同。
你的 shell 可以通过help
builtin 提供有关任何内置命令的信息;尝试help help
,help type
最后:
help .
内置函数也可能列在您的 shell 手册页中。例如(在我的 Debian 中)Bash 内置函数直接包含在 中man bash
,但对于 Zsh 内置函数,man zsh
它告诉我运行man zshbuiltins
。一般来说,shell 可能会也可能不会解释其内置函数。
答案2
尝试使用man sh
或man bash
或您正在使用的 shell 的手册页。(也许man $SHELL
。)
这个命令正式名称不是“point”命令,而是source
命令。搜索这个词source
可能会有帮助。
例如,bash 手册页(搜索“每个内置命令”),您将很快找到文档。
至于解释用法,我可以在这里解释。我将只将其称为命令,因为当您使用某些 shell 时,它可以缩写为句点,而对于某些 shell,可能需要缩写该命令(因为可能识别出点,但可能无法识别source
整个单词)。source
如果您使用该source
命令,您的 shell 将从脚本文件中读取每一行,并尝试执行它。您需要对文件具有“读取”权限。(即使您具有“执行”权限也没关系。)如果您修改变量,则很容易影响您当前的 shell。
另一方面,如果您只是尝试执行该文件,那么您的 shell 将要求操作系统处理此请求。这将需要“执行”权限。(在某些系统上,例如 OpenBSD,您不需要“读取”权限。在其他系统上,包括许多 Unix 变体,您需要。)该文件可能需要以适当的标头(例如#!/bin/sh
)开头,以便操作系统将其识别为脚本文件。操作系统将执行所请求 shell 的副本,并告诉该 shell 运行脚本的内容。如果 shell 环境发生变化(例如,变量获得新值、工作目录发生变化(使用 cd
)、文件描述符重定向(使用 exec
)等),它将仅影响为脚本调用的子 shell,并且无法修改调用脚本文件的父 shell 中的环境。
答案3
没有其他人提到它,因为它经常被遗忘。
您最大的线索可能来自于有用的命令whatis
。
tim@musha ~ $ whatis .
builtins (1) - bash built-in commands, see bash(1)
tim@musha ~ $ whatis source
builtins (1) - bash built-in commands, see bash(1)
tim@musha ~ $ whatis bash
bash (1) - GNU Bourne-Again SHell
tim@musha ~ $ whatis lynx
lynx (1) - a general purpose distributed information browser for the World Wide Web
tim@musha ~ $ whatis linux
linux: nothing appropriate.
tim@musha ~ $ whatis whatis
whatis (1) - display one-line manual page descriptions
编辑:
有些人在评论中指出这不在某些发行版中 - 也许它是一个可安装包,或者以某种方式启用 - 我在 gentoo 中默认拥有它;)
它包括精彩的 which - 告诉您调用了哪个可执行文件,以及 whereis - 为您提供您命名的可执行文件的所有路径,以及它的手册页(如果它存在于多个路径中)。
答案4
是.
shell 命令的同义词source
,因此狂欢,其语法显示为...
help source
include
它的功能与其他语言中的和命令完全相同import
,因为它读取目标文件并将其解释为当前脚本的一部分。因此,该文件将在当前脚本其余部分的命令之前完整执行。
它通常位于当前脚本的开头,并且最常用于加载变量和/或函数定义。