您的当前位置:首页正文

shell脚本 数组操作报Syntax error: "(" unexpected

2024-11-11 来源:个人技术集锦

 #!/bin/sh

脚本:

var="get the length of me"

var_arr=($var)

for i in var_arr; do echo "$i"; done


执行时,会报错Syntax error: "(" unexpected

这与你实际使用的shell有关,用ls -l /bin/*sh查看:

-rwxr-xr-x 1 root root 986672  4月 24  2014 /bin/bash
-rwxr-xr-x 1 root root 112204  2月 19  2014 /bin/dash
lrwxrwxrwx 1 root root      4  8月  4  2014 /bin/rbash -> bash
lrwxrwxrwx 1 root root      4  8月  4  2014 /bin/sh -> dash
lrwxrwxrwx 1 root root      7  8月  4  2014 /bin/static-sh -> busybox


这里sh被重定向到dash,dash不支持数组。


1)执行 bash example.sh;
2)将脚本第一行改为 #!/bin/bash,执行./example.sh

Top