我有一个 shell 脚本,它导出一个环境文件,该文件本身导出第二个环境,其中声明并导出全局变量

我有一个 shell 脚本,它导出一个环境文件,该文件本身导出第二个环境,其中声明并导出全局变量

我有 Unix shell 脚本,它使用了一些环境文件。在环境文件中,我看到以下行:

. /export/applications/ibm6000/dte/sh/nyggmfiss.env   

当我打开 nyggmfiss.env 文件时,我看到变量

${__DTEENV}    

我检查了其他环境文件,其中一个文件有一行

export __DTEENV=${0}    

有人知道 $(0) 是什么吗?它是来自导出一个环境文件的脚本,还是环境文件的名称,其中包含“导出另一个环境文件”?

答案1

男人猛击:

 $0 is set to the name of the file

答案2

${0}是外壳脚本,它以#!/bin/yourshell(shebang 行)作为第一行来启动 shell 进程。
如果没有外壳脚本(当您.在命令行中输入命令时),那么${0}就是您的 shell。

的概念${0}不适用于有源的“环境文件”,因此.在 中执行命令(源命令)时它保持不变。

相关内容