2017-08-18 40 views
0

我有一個相當長的bash腳本。我想用漂亮的運行bash腳本,出現錯誤的結果很好

不錯的運行./test1.scr

如果我不漂亮運行腳本,它的偉大工程。但是,當我運行它很好。在我的腳本中運行的命令失敗。

commandout=() 
while IFS= read -r line # Read a line 
do 
    commandout+=("$line") # Append line to the array 
done < <(tmsh show ltm pool $pool detail | grep -A5 "Ltm::Pool") 
commandout+=(" ") 

我碰到下面的錯誤,如果我跑漂亮

./test1.scr: line 269: syntax error near unexpected token `<' 
./test1.scr: line 269: `      done < <(tmsh show ltm pool $pool detail | grep -A5 "Ltm::Pool")' 

劇本,如果我不運行腳本漂亮一切工作正常。

我想好的整個腳本,所以我可以減少衝擊到其他進程,而這種運行

+3

'.scr'文件是否以'#!/ bin/bash'開頭?否則,''nice'可能會使用'sh'來啓動它。在許多版本的Linux上,'sh'實際上是'dash',它並不知道bash'知道的所有技巧。 – axiac

+0

您可能想使用'readarray -t commandout <<(tush show ltm pool「$ pool」detail | grep -A5「Ltm :: Pool」)''代替。 – chepner

回答

0

你沒有張貼作爲答案,所以我不能將其標記爲答案。但OMG我太嚇人了。

腳本以#/bin/bash開頭,而不是#!/bin/bash修復它。