You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何查找z/OS中Shell内置命令的文档?以点命令为例

/bin/sh中.(点命令)的行为详解

核心作用

.(点命令)是/bin/sh的内置命令,作用是在当前shell进程中执行指定脚本文件里的所有命令,而非启动子shell运行脚本。这意味着脚本里的变量赋值、环境变量修改、别名/函数定义等操作,都会直接影响当前的shell会话。

与普通脚本执行的区别

普通执行脚本(如./sourcedfile)会启动一个子shell进程运行脚本,脚本内的环境变更不会传递回父shell;而使用.命令执行时,所有操作都在当前shell中完成,变更会被保留。

使用语法

. sourcedfile [arg1 arg2 ...]
  • sourcedfile:要执行的脚本路径。如果是不带路径的文件名,shell会在PATH环境变量指定的目录中依次查找该文件;如果是相对/绝对路径(如./sourcedfile或/home/user/sourcedfile),则直接使用指定路径。
  • 可选参数arg1 arg2 ...:会成为脚本内的位置参数(即$1、$2等)。

关键行为细节

  • 脚本内的所有命令会被逐行执行,如同直接在当前shell终端输入一样。
  • 脚本中定义的环境变量、别名、函数会直接添加到当前shell环境中,会话结束前一直有效。
  • 如果指定的脚本不存在、无读取权限,或者在PATH中找不到不带路径的文件名,shell会抛出错误提示。

如何查看官方文档

.是shell内置命令,无法通过man .单独查询,你可以:

  1. 查看sh的手册:执行man sh,在手册内搜索\.(注意转义反斜杠)或关键词dot command,大部分UNIX类系统的sh手册都会详细说明该命令。
  2. 参考POSIX标准定义:该命令是POSIX shell规范的一部分,相关行为在POSIX的shell命令章节中有明确规定。

示例

创建脚本env_set.sh:

# env_set.sh内容
export MY_VAR="hello from sourced script"
alias ll='ls -l'

在当前shell中执行:

. env_set.sh

之后执行echo $MY_VAR会输出hello from sourced script,执行ll会调用ls -l,这些变更都直接作用于当前shell会话。

内容的提问来源于stack exchange,提问作者mike

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.20 05:07:07