имя родительского скрипта в исходном дочернем - PullRequest
0 голосов
/ 14 июля 2020

У меня два сценария: родительский и дочерний.

>> cat fake_parent. sh

#!/bin/sh
my_child(){
echo "I am parent "
./fake_child.sh
}

>> cat fake_child. sh

#!/bin/sh
echo "I am  child"
echo "I want to know my parent ...i.e fake_parent.sh here"

Я ищу fake_parent.sh и вызываю my_child функцию; который должен напечатать «fake_parent. sh» в конце команды echo. Я пробовал $BASH_SOURCE и $0, но оба дают мне «fake_child. sh»

Пожалуйста, помогите.

1 Ответ

0 голосов
/ 14 июля 2020

Вы можете попробовать это:

# fake_parent.sh
my_child(){
echo "I am parent "
export PARENT="$(basename $0)"
./fake_child.sh
}

# fake_child.sh
#!/bin/sh
echo "I am  child"
echo "I want to know my parent ... $PARENT"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...