Alpine не загружается / etc / profile [duplicate]

Если вы не хотите использовать какой-либо объект, вы можете использовать setattr() внутри вашего текущего модуля:

import sys
current_module = module = sys.modules[__name__]  # i.e the "file" where your code is written
setattr(current_module, 'variable_name', 15)  # 15 is the value you assign to the var
print(variable_name)  # >>> 15, created from a string
123
задан Chris Lawlor 22 March 2009 в 00:14
поделиться

3 ответа

Если вы пишете скрипт bash, вызовите его по имени:

#!/bin/bash

/ bin / sh не гарантируется bash. Это вызвало тонну сломанных скриптов в Ubuntu несколько лет назад (IIRC).

Встроенный источник прекрасно работает в bash; но вы могли бы просто использовать точку, как предположил Норман.

184
ответ дан guns 22 August 2018 в 14:41
поделиться
  • 1
    Это решение было изначально комментарием в ответе Нормана Рэмси. Поскольку это то, что на самом деле фиксировало проблему, я изменил это как «принятый ответ», – Chris Lawlor 17 December 2009 в 23:20
  • 2
    Правильный ответ - это не оружие Рэмси. – Enzo 25 February 2016 в 16:44

В Ubuntu, если вы выполняете скрипт с sh scriptname.sh, вы получаете эту проблему.

Попробуйте выполнить скрипт с помощью ./scriptname.sh.

22
ответ дан Addison 22 August 2018 в 14:41
поделиться

В стандарте POSIX, который предполагается считать /bin/sh, команда . (одна точка), а не source. Команда source представляет собой csh -ism, который был втянут в bash.

Попробуйте

. $env_name/bin/activate

Или, если у вас должен быть не-POSIX bash в вашем коде, используйте #!/bin/bash.

149
ответ дан Norman Ramsey 22 August 2018 в 14:41
поделиться
  • 1
    Это исправляет это. (изменение / bin / sh в / bin / bash). По какой-то причине среда не активируется в CLI, когда скрипт заканчивается, но это небольшая проблема. – Chris Lawlor 22 March 2009 в 01:29
  • 2
    Согласно Bash manual source является синонимом .. – Richard Hansen 11 November 2015 в 07:00
  • 3
    Спасибо за вашу помощь – Chris Nguyen 3 October 2017 в 12:03
  • 4
    – Nikhil Owalekar 26 September 2018 в 10:31
Другие вопросы по тегам:

Похожие вопросы: