zoukankan      html  css  js  c++  java
  • shell出现syntax error near unexpected token `<' 解决方法

    最新在看一个shell资料时,按照教材,却出现如下错误,不能运行

    如下,简单的脚本:

    #!/bin/bash
    cat |while read line
    do
      echo $line
    done < <(data.txt|awk '{print $0}')

    运行时,却出现如下错误

    [root@localhost shellcookbook]# sh while_test.sh 
    while_test.sh: line 5: syntax error near unexpected token `<'
    while_test.sh: line 5: `done < <(data.txt|awk '{print $0}')'

    然后在单行运行时,却没有错误

    [root@localhost shellcookbook]# while read line;do echo $line;done < <(cat data.txt|awk '{print $1}')
    1
    2
    3
    4

    在网上查看后,确认无脚步错误,无dos文件错误。还是没有好的解决方法。通过多方求证。原来是bash 3.0后,shell中加入了新的符号"<<<" 可以获取子任务

    现将脚本更改如下,成功运行:

    #!/bin/bash
    cat |while read line
    do
      echo $line
    done <<< `cat data.txt|awk '{print $0}'`

    成功运行

    [root@localhost shellcookbook]# sh while_test.sh 
    1 2 3 4
  • 相关阅读:
    Drupal 7 中文安装教程
    苹果之硬盘启动安装
    STP详解
    RedHat Install
    Linux密码更改
    win8.1开启虚拟wifi
    跳过安装密钥安装系统
    虚拟机中Linux安装Tools
    桌面虚拟化之XenDesktop7
    桌面虚拟化之部署DDC-5.6
  • 原文地址:https://www.cnblogs.com/landhu/p/5206136.html
Copyright © 2011-2022 走看看