python - Bash 脚本能否确定它是否已被获取?

标签 python bash

<分区>

在 Python 中,常见的习惯用法是这样编写代码:

#!/usr/bin/env python3
# -*- coding: utf-8 -*-

def main():
    pass

if __name__ == "__main__":
    main()

这样做是为了在导入而不是执行 Python 脚本时,其主要方法将不会运行。

Bash 中有类似的习语吗?

最佳答案

您可以在脚本顶部使用此代码段来确定脚本是否来源于:

#!/bin/bash

if [[ ${BASH_SOURCE[0]} != $0 ]]; then
   printf "script '%s' is sourced in\n" "${BASH_SOURCE[0]}"
fi

当获取脚本时,$0 变为 -bash,否则它会保留脚本本身的名称。

关于python - Bash 脚本能否确定它是否已被获取?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41837948/

相关文章:

使用它的两个实例时出现 Python_textinput 问题

bash - bash脚本上的错误处理

linux - Windows 10 上的 Ubuntu 上的 Bash 是否支持 USB?

php - 自动完成不适用于 Symfony 控制台脚本

python - 比较数据框中的日期并将值分配给另一个变量

Python - 切换到本地 SOCKS 代理的连接

python - OpenCV:绘制二值图像中对象的轮廓

bash 解析文件名

java - 在 Ubuntu WSL 中运行 bash 脚本时出现不一致的 S3 参数验证错误

Python:从列表中删除很多项目