我正在尝试以下方法:
# !/bin/sh while read LINE do diff source_$LINE <(hadoop fs -cat /user/hadoop-path/$LINE/output) > diff_$LINE done < FILE
它在cmd行中运行良好,但在shell中出现错误:意外标记“(”附近出现语法错误需要帮忙吗?
doinxwow1#
进程替换在posix shell中不可用( #!/bin/sh ). 你的交互式shell显然是 bash ,而脚本不是。要么把车换成 #!/bin/bash ,或在脚本中使用here文档:
#!/bin/sh
bash
#!/bin/bash
diff source_$LINE - <<EOF > diff_$LINE $(hadoop fs -cat /usr/hadoop-path/$LINE/output) EOF
1条答案
按热度按时间doinxwow1#
进程替换在posix shell中不可用(
#!/bin/sh
). 你的交互式shell显然是bash
,而脚本不是。要么把车换成#!/bin/bash
,或在脚本中使用here文档: