【问题标题】:Syntax Error in BASH script - readarray + cut commandBASH 脚本中的语法错误 - readarray + cut 命令
【发布时间】:2014-05-30 16:06:30
【问题描述】:

我正在尝试将逗号分隔的文件解析为几个数组。

第一个数组将包含文件第一列的值 第二个数组将包含文件第三列的值

我正在使用 readarry 和 cut 来尝试完成此任务,但出现语法错误:

readarray -t VLANs < <( cut -d, -f1 /logs/repository/vlansList.csv )
readarray -t VLANs < <(cut -d, -f1 $1)

以上两种方法都不起作用。

错误是:

./ios2NX.sh: line 59: syntax error near unexpected token `<'
./ios2NX.sh: line 59: `         readarray -t VLANs < <( cut -d, -f1 /logs/repository/vlansList.csv)'

有趣的是,如果我使用 bash - [script_name] 测试脚本,则不会显示错误

我尝试将路径放在引号和双引号中,抛出了同样的错误。

你们知道我在这里缺少什么或者可以提出比 readarray + cut 更好的方法吗? (我文件中的行包含空格)

提前致谢!

【问题讨论】:

  • 命令看起来不错...方法也不错...

标签: arrays bash csv cut


【解决方案1】:

问题是你写的是bash,但运行的是sh

如果您的 shebang 是 #!/bin/sh,请将其替换为 #!/bin/bash

如果您正在运行 sh yourfile,请改为运行 bash yourfile

【讨论】:

    猜你喜欢
    • 2023-01-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-30
    • 1970-01-01
    • 2012-03-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多