shell的相关知识(变量、脚本定义)


一、shell的相关知识:

1、对于shell编程语言大体分为:机器语言、汇编语言、高级语言

2、shell变量类型:事先确定数据的存储格式和长度

shell变量分为:字符型、数值型

数值型又分为:整型、浮点型(在shell中一般不使用浮点型数值进行操作)

3、shell:弱类型编程语言

强:变量在使用前,必须事先声明,甚至还需要初始化:

弱:变量用时声明:也不需要区分类型:

显式:明确要转换成什么类型:

隐式:不明确转换成什么类型,系统要看你进行什么操作,它会自动给字符转换成相应类型进行操作,例:11+c=?

默认shell中的变量不能进行运算 例:# C=$A+$B

4、变量赋值:VAR_NAME=VALUE

5、如何定义变量名称:

a、只能包含字母、数字和下划线,并且不能数字开头;

b、不应该跟系统中已有的环境变量重名;

c、最好做到见名知义;

6、bash变量类型:

a 、环境变量

b、本地变量(局部变量)

c、位置变量

d、特殊变量

a、环境变量:作用域为当前shell进程及其子进程;

格式:export varname=value  "导出"

b1、本地变量:作用域为整个bash进程;(随时用随时定义)

格式:变量名=:

b1、局部变量:作用域为当前代码段;

格式:local 变量名=值

c、位置变量:$1(第一个参数),$2(第二个参数),...

例:./filetest.sh  /etc/fstab  /etc/inittab

第一个参数$1:/etc/fstab

第二个参数$2:/etc/inittab

shift:轮替,每执行一个shift就会踢出一个; 格式:shift [n] 可以一下踢出多个

例:./filetest.sh /etc/fstab /etc/inittab /etc/passwd /tmp/config.sh

使用shift 2 就表示把/etc/fstab和/etc/inittab踢出去,而后/etc/passwd就变成了第一个

d、特殊变量:

$?:上一个命令的执行状态返回值;

$#:传送给shell程序的位置参数的数量(参数的个数)

$*:调用shell程序时所传送的全部参数的单字符串,“参数1”“参数2”…形式保存的参数列表

$@:“参数1”“参数2”...形式保存的参数列表

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 下一页

相关内容