Bash python 中的参数

Bash args in python

我需要 运行 这样的代码

dk=$(python -c "import hashlib; hashlib.sha256('' + 'salt').hexdigest()");
echo $dk</pre>

但使用 'python -c' 时,'$1' 似乎不起作用。 怎么做 ? :)

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

import hashlib; print hashlib.sha256('' + 'salt').hexdigest()

因此 shell 命令变为:

$ dk=$(python -c "import hashlib; print hashlib.sha256('' + 'salt').hexdigest()")
$ echo $dk
532b86a29eae4a625bac7c2f0208a58b5ff08e65780917d54e027d927bc92381

请注意,这使用了父环境中 </code> 的值。如果您想将一个值作为命令行参数传递,您可以将命令修改为:</p> <pre><code>$ dk=$(python -c "import sys; import hashlib; print hashlib.sha256(sys.argv[1] + 'salt').hexdigest()" argument) $ echo $dk 7353bc6a6fcee8b3c908bdaed02b49e6140818a0dcaf37507451b23ae6952687