Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用所需字符串从python调用bash脚本_Python_Bash_File_Shadow - Fatal编程技术网

使用所需字符串从python调用bash脚本

使用所需字符串从python调用bash脚本,python,bash,file,shadow,Python,Bash,File,Shadow,我有一个python脚本,它从/etc/shadow获取我正在做的项目的用户密码。假设我在python脚本中得到的密码是“jumbo”。那么,在python脚本中如何调用bash脚本呢?密码“jumbo”必须传递给要使用的bash脚本 我之所以将其传递给bash脚本,是因为我需要在bash脚本中而不是在命令行中使用该密码登录到用户,比如说“worker”,以便自动登录到“worker”当bash脚本完成执行并返回到python脚本以继续bash脚本调用后的其余python代码时的帐户 编辑:我不

我有一个python脚本,它从/etc/shadow获取我正在做的项目的用户密码。假设我在python脚本中得到的密码是“jumbo”。那么,在python脚本中如何调用bash脚本呢?密码“jumbo”必须传递给要使用的bash脚本

我之所以将其传递给bash脚本,是因为我需要在bash脚本中而不是在命令行中使用该密码登录到用户,比如说“worker”,以便自动登录到“worker”当bash脚本完成执行并返回到python脚本以继续bash脚本调用后的其余python代码时的帐户


编辑:我不知道如何在python中调用bash脚本,也不知道如何“捕获”bash脚本中的字符串

如果要使用参数调用脚本,可以使用check_call函数:

从子流程导入检查调用 rc=check_call./file.sh%s%s%s%agr1,strarg2,arg3,shell=True
请记住在传递之前使用strarg将参数转换为字符串。

尝试子流程。runI将对此进行研究。我更困惑的是如何在bash脚本中“捕获”字符串批准答案以将问题标记为已回答的问题。您将如何在bash脚本中接收字符串?另外,通过执行您提供的上述操作,bash脚本可以从python脚本访问密码字符串吗?啊,这非常有用!如果这是我需要做的,我如何在bash脚本中捕捉到这一点。。或者您可以直接访问它们吗?将其作为任何命令行参数接收,看看本文档中的参数部分:长话短说,第一个参数将使用$1访问,第二个参数将使用$2访问,依此类推。我发现,在使用各种子流程函数时,最好将命令作为字符串列表传递,而不是作为字符串传递。这意味着您可以传递包含任意内容的参数,包括空格和各种标点符号,而不必担心如何解释它们。