此问题在此处已有答案:
What's the difference between "here string" and echo + pipe(1个答案)
Redirector "<<<" in Ubuntu?(3个答案)
昨天关门了。
大家好,我想写一个Shell脚本,运行保存在变量$code中的Python代码。
因此,我使用以下命令将脚本保存在变量$code
中:
$ export CODE='print("Hello world")'
为了解决这个问题,我在一个名为run的文件中编写了以下脚本:
#!/bin/bash
echo "$CODE" > main.py
python3 main.py
要运行shell脚本,我使用:
./run
但我发现了另一个我不明白的答案:
python3 <<< $CODE
那么我们使用<<<
是什么意思呢?
2条答案
按热度按时间wfveoks01#
在bash/unix等中,
<<<
表示here字符串,是一种将标准输入传递给命令的方式。<<<
用于字符串,而<<
表示here文档,<
用于传递文件的内容。它将右边的单词传递给左边命令的标准输入。
你可以对
|
做同样的操作,但只有当你需要的值被包含在内,但你的脚本的当前shell中仍然没有这些变量,也就是说,你没有其他要插入的$变量。如果你这样做,你可以像你的例子中那样使用一个here-string,它允许你引用其他变量。请参见:https://en.wikipedia.org/wiki/Here_document
https://linuxhint.com/bash-heredoc-tutorial/
r9f1avp52#
在Bash中,zsh(和其他一些shell)
<<<
是 here string 运算符。