我编写了一个示例KornShell函数,用于拆分字符串、将其放入数组中,然后打印出其值。代码如下:
#!/usr/bin/ksh
splitString() {
string="abc@hotmail.com;xyz@gmail.com;uvw@yahoo.com"
oIFS="$IFS";
IFS=';'
set -A str $string
IFS="$oIFS"
}
splitString
echo "strings count = ${#str[@]}"
echo "first : ${str[0]}";
echo "second: ${str[1]}";
echo "third : ${str[2]}";
现在echo
不会输出数组的值,所以我认为它与定义的数组作用域有关。
我是 Shell 脚本的新手,有谁能帮我理解上面示例中变量的作用域?