当重定向python脚本的输出时,当回显输出时,它似乎可以工作,但当我实际将它用于另一个对象时,它会中断并切断后面的所有内容
在本例中,我们将VERSION
设置为"nice dude"
VERSION=$(python3 -c "print('nice dude')")
单独打印变量似乎是可行的
$ echo $VERSION
>>> nice dude
但当我用其他任何东西实现这个值时,例如Python:
$ python3 -c "print('$VERSION')"
>>> File "<string>", line 1
>>> print('nice dude
>>> ^
>>> SyntaxError: EOL while scanning string literal
或者当我再次打印时,使用一些连接:
$ echo $VERSION hehe
>>> hehedude
我不确定发生了什么,但在打印python python3.9.1
生成的输出时,这似乎是某种回车
我无法复制你的结果,所以我试着寻找是什么导致了你的错误
然后我也犯了同样的错误
看来你的错误是结尾有未关闭的报价
查看here了解更多信息
所以你可能忘了在结尾的某个地方关闭一个打开的报价。 下面是我可能发生的事情
之后
VERSION shell变量将包含一个尾随换行符,因此使用
python3 -c "print('$VERSION')"
将其插入Python代码将导致这是无效的
您可以将
, end="")
添加到原始打印,或者想出其他方法去除尾随换行符,或者使用例如三重引号我添加了
python
命令并用echo
对其进行了包装,效果很好:相关问题 更多 >
编程相关推荐