首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >作为参数的Shell脚本-- Python变量

作为参数的Shell脚本-- Python变量
EN

Stack Overflow用户
提问于 2021-06-03 09:51:09
回答 2查看 50关注 0票数 0

我有一个名为“scriptNastran.py”的简单Python脚本,它通过子进程函数调用一个shell:

代码语言:javascript
复制
import subprocess

subprocess.call(['sh', './launchNastran.sh'])

我的launchNastran.sh是:

代码语言:javascript
复制
/appli/nastran -msc20121 TRAM mem=512M buffsize=25601 batch=no    
CHEMIN='/users/develop/tmp/input'
\cp -rf TRAM MODELE ./*f06 ./*f04 ./*log ./*op2 ./*pch $CHEMIN

文件TRAM和MODELE与shell和Python脚本位于同一个目录中。该目录可以在Shell:CHEMIN='/users/develop/tmp/input中看到。

但是,目录在Python中发生了变化,因此我想将Python中定义的arg_directory作为shell的一个参数传递,如下所示:

代码语言:javascript
复制
import subprocess
arg_directory = 'hello world'
subprocess.call(['sh', './launchNastran.sh'])

对于python脚本和shell,如下所示:

代码语言:javascript
复制
$ scriptNastran.py arg_directory

/appli/nastran -msc20121 TRAM mem=512M buffsize=25601 batch=no    
CHEMIN= arg_directory
\cp -rf TRAM MODELE ./*f06 ./*f04 ./*log ./*op2 ./*pch $CHEMIN

有人知道怎么做吗?

(谢谢你的帮助:)

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-06-03 09:56:45

可以将目录作为参数传递:

代码语言:javascript
复制
import subprocess
arg_directory = 'hello world'
subprocess.call(['sh', './launchNastran.sh', arg_directory])

然后在shell脚本中阅读它。

代码语言:javascript
复制
/appli/nastran -msc20121 TRAM mem=512M buffsize=25601 batch=no    
CHEMIN="$1"
\cp -rf TRAM MODELE ./*f06 ./*f04 ./*log ./*op2 ./*pch "$CHEMIN"
票数 2
EN

Stack Overflow用户

发布于 2021-06-03 10:04:04

launchNastran.py

代码语言:javascript
复制
def call_shell(CHEMIN_path):
    import subprocess
    ssh_command_string='''
        /appli/nastran -msc20121 TRAM mem=512M buffsize=25601 batch=no    
        CHEMIN={path}
        \cp -rf TRAM MODELE ./*f06 ./*f04 ./*log ./*op2 ./*pch $CHEMIN
    '''.format(path=CHEMIN_path). ## put the path you have in format 
    subprocess.Popen(ssh_command_string, shell=True)
call_shell('/users/develop/tmp/input') ## call the shell script
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67819218

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档