我正在尝试从远程主机下载文件,远程路径取决于 shell 变量。
>>> with settings(host_string = 'user@server.com'):
get('$ORACLE_HOME/network/admin/tnsnames.ora')
它抛出一个错误:
Fatal error: get() encountered an exception while downloading '/home/user/$ORACLE_HOME/network/admin/tnsnames.ora'
Underlying exception:
No such file
有没有办法要求 shell 变量扩展?
请您参考如下方法:
您可以使用 fabric.operations.run() :
from fabric.operations import run
oracle_path = run('echo $ORACLE_PATH', shell=True)
with settings(host_string = 'user@server.com'):
get(os.path.join(oracle_path, 'network/admin/tnsnames.ora'))
