你好,我正在使用一个关于编写 Linux Shell 脚本的教程来测试自己,在使用 Shell 数组时遇到了这个问题。语法是使用 vi 编写的
name[0]=chuck
name[1]=samson
echo "hello, ${name[0]}"
echo "hello, ${name[1]}"
并使用保存文件:wq
。我尝试使用运行文件sh svar.sh
,但
name[0]=chuck is not found
name[1]=samson is not found
但是,当使用编码基础 GNU Bash v4.4 时,脚本可以正确运行,为什么它在该操作系统下不起作用?
答案1
添加#!/bin/bash
shebang。
旧版本的 Ubuntu 具有ash
默认 shell,不支持数组。
并按如下方式运行脚本:
./svar.sh
不要使用sh
等。