• 程序获取不到环境变量


    有个需求必须从shell 脚本里面去调用 python的脚本,然后在python脚本里面死活获取不到环境变量,然后各种尝试发现获取不到环境变量(启动容器是传入),我的环境是一个自制的docker-compose的集nginx,php,memcache,cronjob (ubuntu)四个容器。

    多次测试:

      1、在/etc/crontab 文件下面 先export 环境变量然后 再执行python 程序可以获取到环境变量

      2、在shell 里面内部export 环境变量后 ,可以获取到环境变量

      3、通过歪门邪道将主机名命名为环境变量,获取主机名

      4、在shell 脚本里面 引入 . /etc/profile 或者其他 文件也可以,类似于函数调用的方式(推荐)。

    第四种方式的docker-compose

      cronjob:
        image: cronjob:v14
        networks:
          lnmp:
            ipv4_address: '172.18.0.5'
        restart: always
        container_name: cronjob-dd
        command:
            - sh
            - -c
            - |
                echo "export phoneNumber=xxx" >> /etc/profile
                /usr/sbin/cron -f -L /dev/stdout
    

      

    脚本内部

    #!/bin/bash
    
    . /etc/profile
    

      

  • 相关阅读:
    循环神经网络(Recurrent Neural Network)
    特征选择
    程序猿能挣多少钱
    python socket
    python 2 encode and decode
    pandas series
    source collection list
    pep8摘要
    python 正则表达式
    django显示图片
  • 原文地址:https://www.cnblogs.com/bill2014/p/15494582.html
Copyright © 2020-2023  润新知