shell中“<”是重定向,将从“<”右侧读取的内容输出到“<”左侧。一般形式如下:
command < file
即将文件内容输出给命令
“<<”则是一种特殊的重定向,是输入内容重定向到一个命令或脚本。
一般形式如下:
command << EOF
...
...
...
EOF
输出结果...
例如:
如上图输入4行内容,输出结果是wc统计行数。
在实践过程中,以下是一种典型用用形式:
sftp username@IPaddress << EOF
...
...
...
EOF
如上代码实现了使用一个脚本通过sftp执行一系列命令的功能。
“<<<”同样是一种特殊重定向,但是它的右侧是一个字符串。
下面是一个典型例子:
passwd --stdin root <<< "123456"
实现了用脚本修改密码(非交互形式修改密码)
这个功能的另一种实现是通过管道形式:echo "123456" | passwd --stdin root