Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/352.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_Args - Fatal编程技术网

python中的Bash参数

python中的Bash参数,python,bash,args,Python,Bash,Args,我需要运行这样的代码 dk=$(python-c“import hashlib;hashlib.sha256('$1'+'salt').hexdigest()”); 回声$dk 但这就好像“$1”不能使用“python-c”一样。 怎么办?:) 尝试添加一个print将十六进制摘要打印到标准输出: import hashlib; print hashlib.sha256('$1' + 'salt').hexdigest() 因此,shell命令变为: $ dk=$(python -c "imp

我需要运行这样的代码

dk=$(python-c“import hashlib;hashlib.sha256('$1'+'salt').hexdigest()”);
回声$dk

但这就好像“$1”不能使用“python-c”一样。
怎么办?:)

尝试添加一个
print
将十六进制摘要打印到标准输出:

import hashlib; print hashlib.sha256('$1' + 'salt').hexdigest()
因此,shell命令变为:

$ dk=$(python -c "import hashlib; print hashlib.sha256('$1' + 'salt').hexdigest()")
$ echo $dk
532b86a29eae4a625bac7c2f0208a58b5ff08e65780917d54e027d927bc92381
请注意,这将在父级环境中使用
$1
的值。如果要将值作为命令行参数传递,可以将命令修改为:

$ dk=$(python -c "import sys; import hashlib; print hashlib.sha256(sys.argv[1] + 'salt').hexdigest()" argument)
$ echo $dk
7353bc6a6fcee8b3c908bdaed02b49e6140818a0dcaf37507451b23ae6952687

你说的“不工作”是什么意思?你得到了什么结果?您希望得到什么结果?我在python之前添加了一个echo$1,输出为:“lol”(我选择“lol”作为密码)。我所说的“不起作用”是,我希望bash接受我的参数,然后在python函数中使用它。该函数使用salt生成sha256 salt密码。但实际输出是一个空行。太好了!谢谢正是我想要的:D
$ dk=$(python -c "import sys; import hashlib; print hashlib.sha256(sys.argv[1] + 'salt').hexdigest()" argument)
$ echo $dk
7353bc6a6fcee8b3c908bdaed02b49e6140818a0dcaf37507451b23ae6952687