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
作为脚本的第一行。
(我年纪越大,我就越好)。