[shell]特殊变量汇总

来源:互联网 发布:linux chgrp 编辑:程序博客网 时间:2024/05/16 16:11

系统变量:

$#参数个数$0程序的名称$1传给函数的第1个参数$2传给函数的第2个参数$3传给函数的第3个参数... $9传给函数的第9个参数,9往后的必须将数字{}起来${10}传给函数的第10个参数${11}传给函数的第11个参数......$n传给函数的第n个参数$?函数或者程序正常退出返回0,否则返回1$*传递给程序的所有参数组成的字符串$@函数的参数顺序保存的字符串$$本程序进程ID$!上一个程序进程ID$(seq 10)1 2 3 4 5 6 7 8 9 10  





自定义变量

# 自定义变量“=”前后不能有空格a="hello World" echo $aecho "你好!${a}bcde"  #此时变量为${a}

#整数的运算int_a=1int_b=3int_c=`expr $int_a + $int_b` #"+"前后有空格


变量修饰符


${variable:-word}如果变量variable已被设置且值非空,则代入它的值。否则,代入word${variable:=word}已被设置且值非空,就代入它的值。否则,将variable的值设为word。始终代入variable的值。位置参量不能用这种方式赋值${variable:+word}如果变量variable已被设置且值非空,则代入word的值。否则,什么都不代入(代入空值)${variable:?word}如果变量variable已被设置且值非空,则代入它的值。否则,输出word并且从shell退出。如果省略了word,就会显示信息:parameter null or not set${variable:offset}获得变量variable值中位置从offset开始的子串,偏移为从0到串的末尾 19${variable:offset:length}获得变量variable值中位置从offset开始长度为length的子串

子串的变量扩展


${变量%模式}将变量值的尾部与模式进行最小匹配,并将匹配到的部分删除${变量%%模式}将变量值的尾部与模式进行最大匹配,并将匹配到的部分删除${变量#模式}将变量值的头部与模式进行最小匹配,并将匹配到的部分删除${变量##模式}将变量值的头部与模式进行最大匹配,并将匹配到的部分删除${#变量}替换为变量中的字符个数。如果是*@,长度则是位置参量的个数
原创粉丝点击