root@node-3:/data/k8s/zookeeper/dockerfile# sh test.sh
test.sh: 3: cannot create /zookeeper/data/myid: Directory nonexistent
test.sh: 7: Syntax error: redirection unexpected
原因
其他常见的linux发行版,虽然很多是将sh指向bash
debian/ubuntu上sh命令默认是指向dash,而不是bash
又因为dash是比bash还轻量的,只支持基本的shell功能,
其中不包括刚才那种数组初始化,所以才会识别不了,直接报Syntx error
解决
直接用 bash test.sh,或者./test.sh,这两种方式来执行脚本。