有没有办法在shell脚本(ksh)中检查脚本是否在当前shell中启动了?
示例
使用.
(点/源)命令
$ . ./myscript
$ I run in the current environment!
在自己的过程中启动脚本
$ ./myscript
$ I run in my own process!
答案 0 :(得分:0)
这是一个你可以使用的简单技巧。
#!/bin/ksh
if [ ${.sh.file} != ${0} ]; then
echo I run in the current environment
else
echo I run in my own process
fi
答案 1 :(得分:0)
每个壳牌都有自己的PID ..
所以你可以在你的脚本中使用 echo“$$” ..它将帮助我们找到脚本RAN的位置。
即pid的差异意味着它们来自不同的shell。