首页 > 其他 > 详细

LINUX SHELL 变量

时间:2014-01-26 16:22:49      阅读:393      评论:0      收藏:0      [点我收藏+]


变量类型


一直以为bash shell的变量是无类型的,其实也是可以指定类型的。

Administrator@DADI ~
$ declare -i num=10

Administrator@DADI ~
$ echo $num
10

Administrator@DADI ~
$ num=‘iamaint‘

Administrator@DADI ~
$ echo $num
0

通过declare的方法强制指定类型后,变量就不在接收非int的赋值操作。

常量

定义语法为:
readonly OPTION VARIABLE(s)

定义后,该变量无法重新赋值或者unset
Administrator@DADI ~
$ readonly MY_NAME=‘Administrator‘

Administrator@DADI ~
$ MY_NAME=‘ANOTHERNAME‘
-bash: MY_NAME: readonly variable

Administrator@DADI ~
$ unset MY_NAME
-bash: unset: MY_NAME: cannot unset: readonly variable


数组操作

两种定义方法
ARRAY=(value1 value2 ... valueN)
ARRAY[0]="no.1 element"

元素
myarray=(1 2 3 4 5 6 7 8)

echo ${myarray[0]}

myarray[0]="new value 1"

数组元素个数
echo ${#myarray[*]}
不要和下面的搞混,只会返回myarray第一个元素的长度
echo ${#myarray}

遍历
echo ${myarray[*]}

for i in ${myarray[*]} ; do echo $i;done
对于连续长度的也可以使用

array_len=${#myarray[*]}
i=1
while [ $i -lt $array_len ]
do
  echo ${myarray[$i]};
  i=$[ $i + 1 ];
done
done;

字符串操作

取子串
${VAR:OFFSET:LENGTH}

Administrator@DADI ~
$ mystring="123456789"

Administrator@DADI ~
$

Administrator@DADI ~
$ echo ${mystring:2:2}
34

Administrator@DADI ~
$ echo ${mystring:2:4}
3456

替换
${VAR/PATTERN/STRING}
$ echo ${mystring/2/new2}
1new23456789




LINUX SHELL 变量

原文:http://blog.csdn.net/xfzheng_yeah/article/details/18792047

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!