C Shell中的变量数组,shell变量数组


  今天刚刚在看一点C Shell的内容,发现一个挺好玩的东西!就是环境变量可以像数组那样来设置!具体设置语法如下:

set variable=(element1 element2 ...)
//注意元素之间用空格来间隔

  比如我在C Shell中运行了这么一条语句 set var=(123 def hij),那么他就表示设定了一个变量数组,其中var[1]是123,var[2]是def!很奇怪的是它这个数组不是从0开始的,var[0]是一个空的字符串!或许这个var[0]像C语言主函数的argv[0]那样表示一个特殊的含义么,关于这点我还没想明白!如果了解的可以指点我一下哈!,运行结果如下图:

  

  那么如果想要更改这个变量数组中的内容也非常简单了,类似与数组中的那种更改方式一样!比如我想把var[1]的值改成abc,那么只要运行一条 set var[1]=abc就搞定了,如下图所示:

  

  那么如果我想要获得这个数组的长度呢?通过一个#就可以轻松获得了!具体拿上面那个例子来说!我想要获得var这个变量数组的长度,只要执行一条

echo $#var    //获得变量数组的长度

运行结果如下图所示:

  

  OK,这就是我所了解到的C Shell中的变量数组了!

相关内容