我有三个脚本:
当我运行
- 我的主要脚本:script1.sh
- 具有函数“logger”的脚本:script2.sh
- 调用函数“logger”的脚本:script3.sh
我的脚本内容:
script1.sh:
echo"This is script1"
source script2.sh
sh script3.sh
echo "End of script1"
script2.sh:
logger(){
echo "The calling script name is $BASH_SOURCE"
}
script3.sh:
echo "Script3 start"
logger
echo "End of script3"
当我运行
sh script1.sh
时,我希望日志记录函数打印出
因为这是调用该函数的脚本。但实际上,它打印出了script3.sh
有没有什么办法可以解决这个问题?script2.sh
script1
中引用script2
不会使logger
在script3
中可见。你必须在script3
中做了一些事情。 - Jason Hu$0
作为参数传递,这不是硬编码。 - Sean Piankash script1.sh
只会打印script2.sh
吗?我确定它应该会打印更多内容。请发布完整的内容。 - Inian