У меня есть скрипт оболочки, который экспортирует один файл среды, который сам экспортирует вторую среду, где объявлена ​​и экспортирована глобальная переменная

У меня есть скрипт оболочки, который экспортирует один файл среды, который сам экспортирует вторую среду, где объявлена ​​и экспортирована глобальная переменная

У меня есть скрипт оболочки Unix, который использует некоторые файлы окружения. В файле окружения я вижу строку:

. /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) в качестве своей первой строки.
Если нет внешнего скрипта оболочки (когда вы вводите .команду в командной строке), то ${0}это ваша оболочка.

Концепция ${0}не применяется к исходным «файлам среды», поэтому она остается неизменной при .выполнении команд (исходных команд) в .

Связанный контент