bash - 意外标记“<”附近的语法错误
Posted
技术标签:
【中文标题】bash - 意外标记“<”附近的语法错误【英文标题】:bash - syntax error near unexpected token `<' 【发布时间】:2012-04-08 09:18:27 【问题描述】:我有一个这样的脚本:
dyski=$(df -h)
while read wiersz; do
i=0;
for token in $wiersz
do
case $i in
0)
tresc="$tresc\nSystem plików: $token";
;;
1)
tresc="$tresc\nRozmiar całkowity: $token";
;;
2)
tresc="$tresc\nUżyte miejsce : $token";
;;
3)
tresc="$tresc\nDostępne miejsce: $token";
;;
4)
tresc="$tresc\nProcentowe użycie: $token";
;;
esac
i=$((i+1))
done
tresc="$tresc\n"
done < <(echo "$dyski")
当我在我的 Mandriva 上运行它时,它运行良好。但是当我将它移到 SLES11 时,它给出了一个错误:
./diskcheck.sh:第 42 行:意外标记附近的语法错误
<' ./diskcheck.sh: line 42:
done
它有什么问题?提前感谢您的帮助。
【问题讨论】:
看起来你有两个“ 【参考方案1】:我怀疑您错误地假设 /bin/sh
到处都是 bash
。许多 Linux 发行版使用更简单的 shell(通常是 dash
,有时是 ksh
)作为 /bin/sh
;如果你想使用 bash
特定的扩展,例如 <(pipeline)
语法,你应该明确地使用 bash
作为 shell。
【讨论】:
以上是关于bash - 意外标记“<”附近的语法错误的主要内容,如果未能解决你的问题,请参考以下文章