/ / Skontrolujte, či bol skript spustený v aktuálnom prostredí [duplikát] - shell, unix, ksh

Skontrolujte, či bol skript spustený v aktuálnom shell [duplicate] - shell, unix, ksh

Existuje spôsob, ako skontrolovať v skripte shellu (ksh), či bol skript spustený v aktuálnom prostredí?

príklad

Spustite skript v aktuálnom prostredí pomocou . (bodka / zdroj) príkaz

$ . ./myscript
$ I run in the current environment!


Spustite skript vo vlastnom procese

$ ./myscript
$ I run in my own process!

odpovede:

0 pre odpoveď č. 1

Toto je jednoduchý trik, ktorý môžete použiť.

#!/bin/ksh
if [ ${.sh.file} != ${0} ]; then
echo I run in the current environment
else
echo I run in my own process
fi

0 pre odpoveď č. 2

Každý Shell má svoj vlastný PID.

takže môžete použiť echo „$$“ v skripte ur ..pomôže nám to nájsť odkiaľ je skript RAN.

tj Rozdiel v pid znamená, že sú spustené z rôznych škrupín.