如何在 *nix 中查找点命令“。”的帮助?

如何在 *nix 中查找点命令“。”的帮助?

我需要找到点命令的帮助.,例如. ./my_script.sh(我指的是第一个点。)

我已经尝试使用man .和查找手册页man \.。如何显示其中说明命令用法的手册页.

答案1

首先你应该调用type .,你可能会得到类似的结果:

. is a shell builtin

内置命令是 shell 的一部分,它们没有自己的手册页。其中一些似乎有手册页,例如echoBash 中的内置命令,但很可能有一个单独的可执行文件,例如/bin/echo在您的系统中,在这种情况man echo下指的是后者。这两个echo可能并不严格等同。

你的 shell 可以通过helpbuiltin 提供有关任何内置命令的信息;尝试help helphelp type最后:

help .

内置函数也可能列在您的 shell 手册页中。例如(在我的 Debian 中)Bash 内置函数直接包含在 中man bash,但对于 Zsh 内置函数,man zsh它告诉我运行man zshbuiltins。一般来说,shell 可能会也可能不会解释其内置函数。

答案2

尝试使用man shman 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,因为它读取目标文件并将其解释为当前脚本的一部分。因此,该文件将在当前脚本其余部分的命令之前完整执行。

它通常位于当前脚本的开头,并且最常用于加载变量和/或函数定义。

相关内容