我在 Mac 上的 Bash 中运行一个脚本,我试图将一个字符串拆分成一个数组,分隔符是一个空格。我正在运行的命令是:
array = ($(echo "$string" | tr ' ' "\n"))
Run Code Online (Sandbox Code Playgroud)
返回“意外的'('”错误。我尝试了多种解决方案,包括
#!/bin/bash首先,shell 脚本中的赋值不应在=(变量/数组名称)的左侧和赋值运算符的右侧之间包含空格=。至于将字符串转换为数组,您不需要显式用换行符替换空格,只需利用自动分词,当调用未加引号的变量时会发生这种情况:
$ string='This is a hello world string'
$ array=( $string )
$ echo ${array[3]}
hello
$ echo ${array[4]}
world
Run Code Online (Sandbox Code Playgroud)