从shell脚本中的while-do循环读取文件的语法

时间:2017-02-20 11:46:19

标签: shell

这个shell脚本包含一个while循环:

while IFS = \| read SourceDB db_name Mysql_table hdfsdir libpath
do
    # jobs

done < $/root/SqoopWrapper/InputFile

exit 0

shell脚本包含我想要循环的输入文件

执行时,我正在

  

“意外令牌”完成附近的语法错误

1 个答案:

答案 0 :(得分:0)

删除作业中的空格。

while IFS=\| read SourceDB db_name Mysql_table hdfsdir libpath

您可以使用ShellCheck来捕获这些类型的错误。

$ shellcheck myscript

Line 1:
while IFS = \| read SourceDB db_name Mysql_table hdfsdir libpath
      ^-- SC2162: read without -r will mangle backslashes.
          ^-- SC1068: Don't put spaces around the = in assignments.