我的bash脚本出了什么问题:var =(command1 | command2)?

时间:2015-09-05 16:37:10

标签: bash syntax-error

我的bash脚本中有一行:

  foldername=(echo ${newpath[start]} | awk 'BEGIN{FS="/: ";} {print $1;}')

它运作正常。但是在对我的脚本文件的其他部分进行一些编辑之后,它给出了以下错误:

line 98: syntax error near unexpected token `|'
line 98: `      foldername=( echo ${newpath[start]} | awk 'BEGIN{FS="/: ";} {print $1;}' )'

任何人都可以告诉我我的代码有什么问题?

2 个答案:

答案 0 :(得分:3)

$之后插入=

foldername=$(echo ${newpath[start]} | awk 'BEGIN{FS="/: ";} {print $1;}')

答案 1 :(得分:0)

在命令行中尝试:

a=(echo yes| sed 's@yes@no@g')

你会得到

bash: syntax error near unexpected token `|'

那是因为你在前括号前面缺少'$'。以下作品

a=$(echo yes| sed 's@yes@no@g')