知识屋:更实用的电脑技术知识网站
所在位置:首页 > 操作系统 > linux

LINUXSHELL变量

发布时间:2014-09-05 13:28:18作者:知识屋

变量类型

一直以为bash shell的变量是无类型的,其实也是可以指定类型的。
Administrator@DADI ~$ declare -i num=10Administrator@DADI ~$ echo $num10Administrator@DADI ~$ num='iamaint'Administrator@DADI ~$ echo $num0
通过declare的方法强制指定类型后,变量就不在接收非int的赋值操作。

常量

定义语法为:
readonly OPTION VARIABLE(s)
定义后,该变量无法重新赋值或者unset
Administrator@DADI ~$ readonly MY_NAME='Administrator'Administrator@DADI ~$ MY_NAME='ANOTHERNAME'-bash: MY_NAME: readonly variableAdministrator@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=1while [ $i -lt $array_len ]do  echo ${myarray[$i]};  i=$[ $i + 1 ];donedone;

字符串操作

取子串
${VAR:OFFSET:LENGTH}
Administrator@DADI ~$ mystring="123456789"Administrator@DADI ~$Administrator@DADI ~$ echo ${mystring:2:2}34Administrator@DADI ~$ echo ${mystring:2:4}3456
替换
${VAR/PATTERN/STRING}
$ echo ${mystring/2/new2}1new23456789
(免责声明:文章内容如涉及作品内容、版权和其它问题,请及时与我们联系,我们将在第一时间删除内容,文章内容仅供参考)
收藏
  • 人气文章
  • 最新文章
  • 下载排行榜
  • 热门排行榜