为了账号安全,请及时绑定邮箱和手机立即绑定

linux shell 命令定义和使用数组出错

linux shell 命令定义和使用数组出错

慕尼黑的夜晚无繁华 2019-05-31 19:02:56
#!/bin/shvar =(1 2 3 3 5);echo "${var[*]}";echo "${#var}; 
查看完整描述

2 回答

?
HUH函数

TA贡献1836条经验 获得超4个赞

实际上,bash中可以直接对数组赋值的,不需要使用declare。而且取长度的用法${#var}也只能是在bash中。
这些都不是符合POSIX标准的用法,而是bash所特有的。所以,要简单点的话,就将声明改为bash,即 #!/bin/bash。
当然,还有两处小错,要仔细点:
var =(1 2 3 3 5); #赋值时等号两边不能有空格
echo "${#var}; #引号不成对啊,这里也可以不要引号的
命令后面的分号其实也是多余的,只要换行了,分号就不需要(当然加了也没错)



查看完整回答
反对 回复 2019-06-01
?
心有法竹

TA贡献1866条经验 获得超5个赞

#!/bin/sh
declare -a var=(1 2 3 3 5)
echo "${var[*]}"
echo "${var[2]}"
定义数组方法搞错了。应该使用declare -a 方式搞。

查看完整回答
反对 回复 2019-06-01
  • 2 回答
  • 0 关注
  • 345 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信