하위 스크립트에서 상위 스크립트 이름 가져오기

하위 스크립트에서 상위 스크립트 이름 가져오기

CentOS/RHEL 7. GNU bash, 버전 4.2.46(2)-릴리스

두 개의 bash 스크립트가 있는데 이를 parent.sh와 child.sh라고 부르겠습니다. 부모는 자녀를 이렇게 부릅니다.

# parent.sh
./child.sh

child.sh에서 상위 스크립트의 실제 이름을 보고 싶습니다. /proc에서 정보를 얻으려고 노력하지만 항상 "-bash"만 반환됩니다. 다음은 child.sh의 예입니다.

# child.sh
echo "My process ID is: $$"
echo "or is it $BASHPID"
echo "My Parent ID is: $PPID"
echo "Par Cmd: " `cat /proc/$PPID/cmdline`
PARENT=$(ps -o args= $PPID)
echo "Or is it: " $PARENT 


echo "Press any key to continue..........."
read x

parent.sh를 실행하면 다음이 표시됩니다.

$ ./parent.sh 
$ ./parent.sh 
My process ID is: 14634
or is it 14634
My Parent ID is: 14633
Par Cmd:  -bash
Or is it:  -bash
Press any key to continue...........

내가 알아야 할 것은 child.sh를 호출하는 스크립트의 실제 이름입니다. "parent.sh"의 (적어도 일부)를 보고 싶습니다.

누구든지 올바른 방향으로 나를 가리킬 수 있습니까?

감사해요

답변1

나는 그것을 직접 해결했다. 내가 할 일은 넣어두는 것뿐이다

#!/bin/bash

스크립트의 첫 번째 줄로.

(나이가 들수록 더 좋아집니다.)

관련 정보