Chinaunix

标题: 新手请教 echo ${#var[*]} [打印本页]

作者: lilanhao5566    时间: 2013-04-08 09:03
标题: 新手请教 echo ${#var[*]}
[root@MyDon ~]# var=(a b c)
[root@MyDon ~]# echo ${#var[*]}
3
[root@MyDon ~]# var=(a b c d e)
[root@MyDon ~]# echo ${#var[*]}
5
请教一下这里为什么会输出数组的个数?
${#var[*]}不是对变量进行进制转换吗?
作者: wenhq    时间: 2013-04-08 09:06
都是显示数组的长度${#array[@]} 和${#array[*]}
看下ABS里面有说
作者: yestreenstars    时间: 2013-04-08 09:10
man bash
       ${#parameter}
              Parameter  length.   The  length  in  characters of the value of
              parameter is substituted.  If parameter is *  or  @,  the  value
              substituted  is the number of positional parameters.  If parame-
              ter is an array name subscripted by * or @,  the  value  substi-
              tuted is the number of elements in the array.

作者: seesea2517    时间: 2013-04-08 09:34
${#var
  • }不是对变量进行进制转换吗?

  • 从哪看来是“进制转换”的啊。。。#号是有进制转换的功能,不过它是多功能的,用法不一样,自然功能就不一样了。
    作者: waker    时间: 2013-04-08 09:42
    []和{}弄混了吧
    作者: dn833    时间: 2013-04-08 10:15
    1. echo $((16#abcdef))
    2. echo $((36#ZZZZZZ))
    复制代码
    进制转换是这么玩的。。。。。。
    作者: lilanhao5566    时间: 2013-04-08 11:40
    谢谢各位高手的指教,只能继续学习abs才是真理啊。
    作者: L_kernel    时间: 2013-04-08 16:59
    dn833 发表于 2013-04-08 10:15
    进制转换是这么玩的。。。。。。
    进制转换,高端,学习了。
    作者: wenhq    时间: 2013-04-08 17:01
    dn833 发表于 2013-04-08 10:15
    进制转换是这么玩的。。。。。。


    学习了。。




    欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2