如何在bash中对python -c长命令换行(不使用Python脚本)
在python -c中实现换行的方法
当然可以在python -c的代码片段里换行,而且有几种简单的方式,完全不用写单独的Python脚本:
直接在bash的双引号内换行
bash会将双引号包裹的所有内容(包括换行符)完整传递给python -c,只要你的Python代码符合语法就行。比如你的命令可以改成这样:ENV_VAR=$(python -c " from some_package import some_long_command print(some_long_command()) ")这里把两条Python语句拆分成两行,Python能正常解析,因为每条语句都是完整的独立行,不需要用分号分隔。
用分号结合bash换行转义
如果习惯用分号分隔语句,也可以在bash里用\转义换行,同时保持Python代码的语法:ENV_VAR=$(python -c "from some_package import some_long_command; \ print(some_long_command())")这种方式下,bash会把换行符去掉,但Python依然能识别分号分隔的语句,同样能正常执行。
只要保证传递给python -c的代码符合Python语法规则,不管是直接换行还是用分号配合转义,都能正常工作,轻松把命令控制在80字符宽度内。
内容的提问来源于stack exchange,提问作者Intrastellar Explorer
相关产品推荐
相关产品推荐

