第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

我們?nèi)绾螐膒ython調(diào)用bash函數(shù)

我們?nèi)绾螐膒ython調(diào)用bash函數(shù)

慕容3067478 2021-09-11 20:08:35
假設(shè)我有一個(gè) bash 函數(shù),我將它輸入到 shell 中。# cat sample.sh function func(){    echo "Custom env : $CUSTOM_ENV"}現(xiàn)在我在 bash shell 中獲取這個(gè)腳本: #source sample.sh然后我定義:export CUSTOM_ENV="abc"然后從 bash shell 調(diào)用 func(),它顯示:#funcCustom env : abc現(xiàn)在,如果我從同一個(gè) shell 調(diào)用 python 腳本,我想從 python 腳本調(diào)用函數(shù) func() 。無(wú)論如何要實(shí)現(xiàn)這一目標(biāo)?我試過(guò)的:試過(guò) os.system('func') - 不起作用試過(guò) subprocess.check_output('func', shell=True, env=os.environ.copy()) - 不起作用任何指導(dǎo)?
查看完整描述

3 回答

?
收到一只叮咚

TA貢獻(xiàn)1821條經(jīng)驗(yàn) 獲得超5個(gè)贊

您需要export該功能(帶有-f選項(xiàng)):


$ function func()

> {

>     echo "Custom env : $CUSTOM_ENV"

> }

$ export -f func

$ export CUSTOM_ENV="abc"

$ python

Python 2.7.10 (default, Oct  6 2017, 22:29:07) 

[GCC 4.2.1 Compatible Apple LLVM 9.0.0 (clang-900.0.31)] on darwin

Type "help", "copyright", "credits" or "license" for more information.

>>> import os

>>> os.system('func')

Custom env : abc

0

請(qǐng)注意,exporting 函數(shù)(和變量)會(huì)將函數(shù)和變量的副本導(dǎo)出到它們從中導(dǎo)出的 shell 的子進(jìn)程。它們?cè)诟福ɑ蛐值埽┻M(jìn)程中不可用。此外,在子流程中更改它們不會(huì)影響原始副本。


此外,導(dǎo)出函數(shù)是僅用于 bash 的事情,因此這僅在父 shell 和從 python 啟動(dòng)的 shell 都是 bash 時(shí)才有效。在 bash 不是默認(rèn)值的操作系統(tǒng)上(例如最近發(fā)布的 Ubuntu 和 Debian),您需要明確運(yùn)行 bash,否則它將無(wú)法運(yùn)行。這一切使它變得相當(dāng)脆弱,正如@triplee 指出的那樣,這不是一個(gè)好主意。


查看完整回答
反對(duì) 回復(fù) 2021-09-11
  • 3 回答
  • 0 關(guān)注
  • 230 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)