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


-2

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

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

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

${__DTEENV}    

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

export __DTEENV=${0}    

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


${0} 是相同的 $0; $(0) 是具有名称的命令的输出 0
AFH

Answers:


1

男子打击:

 $0 is set to the name of the file

哪个文件?我在脚本中没有任何输入文件。它也是UNIX,$ 0是正在运行的脚本的名称。它是Korn的外壳,而不是bash
osamuyl

你是对的:脚本文件。
Ipor Sircer

你的意思是脚本名称,对吗?
osamuyl

0

${0} 是通过具有启动shell进程的外壳脚本 #!/bin/yourshell (shebang线)作为它的第一线。
如果没有外壳脚本(当你输入 . 命令行上的命令)然后 ${0} 是你的壳。

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

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.