Linux--shell脚本中的变量,函数及运算符

1.shell中的变量

1.1变量的定义

变量即在程序运行过程中它的值是允许改变的量 变量是用一串固定的字符来标示不固定的值的一种方法
变量是一种使用方便的占位符,用于引用计算机内存地址,该地址可以存储 Script 运行时可更改的程序信息
在 shell中,变量是不能永久保存在系统中的,必须在文件中声明

1.1.1 在 shell 脚本中变量的种类

在 shell 中变量分为环境级变量,用户级变量,系统级变量

环境级变量只在当前 shell 中生效, shell 关闭变量丢失
用户级变量写在用户的骨文件中,只针对当前用户生效
系统级变量被写在系统的配置文件 /etc/profile 或者 /etc/profile.d/ 中,对于所有用户都生效

1.2 shell 脚本中变量的定义方法

环境级 export A=1
用户级 vim ~/bash_profile export A=1
系统级 vim /etc/profile export A=1

1.3 export

linux 中 export命令用于设置或显示环境变量。
在shell中执行程序时,shell会提供一组环境变量。export可新增,修改,删除环境变量,供后续完成的程序使用

1.4 变量名称的规范,字符的转译及变量的声明

  1. 变量名称中通常包含大小写字母,数字,下划线(不是必须)
  2. 字符的转译及变量的声明

\ 转译单个字符
“” 弱引用,批量转译 “” 中出现的字符,
‘’ 强引用,批量转译 ‘’ 中出现的字符

  '' 与 ""两者的区别在于, "" 不能转译 "\","`","!","$"
  1. ${} 变量声明
    例如:
    A=1
    echo $Ab
    echo ${A}b
    Linux--shell脚本中的变量,函数及运算符_第1张图片

1.5 变量值传递

$0 shell脚本本身的名称
$1 脚本后的第一串字符串
$2 脚本后的第二串字符串,以此类推
$# 脚本后所跟字符串的个数
$* 脚本后跟的所有字符串,模式为“ 1 2 3 ”
$@ 脚本后跟的所有字符串,模式为“1”“2”“3”,为一个参数列表
$$ 脚本当前运行的进程ID号,即PID。
$? 最后一个命令执行的结束代码状态(返回值为0表示正确执行,返回其他表示有错误)

1.6 用 read 实现变量传递

read WESTOS
read -s WESTOS
read -p "input: " WESTOS

1.7 linux 系统中命令别名的设定

alias xie=‘vim’
vim ~/.bashrc
alias xie=‘vim’
vim /etc/bashrc
alias xie=‘vim’
unalias xie

1.8 利用命令执行结果设定变量

Hostname=$(command)
Hostname=command

1.9 $?

$? 是命令在执行完成之后产生的退出值
范围是 [0-255]
当 $?=0 时标示命令执行没有错误输出
这个值可以用 exit 命令执行 .
例如 exit 66

2.脚本中的函数

脚本中的函数 把一个复杂的语句块定义成一个字符串的方法

Host_Message()
{
read -p "Please input your action: " Action
[ "Action" == "exit" ] && exit 0
[ "Action" == "user"]&& echo You are $USER
[ "Action" == "hostname" ]&& echo $HOST
Host_Message  #调用函数
}
Host_Message #调用函数

3. shell中常用的运算方式及运算符号

3.1 运算命令

(())用于整数运算
let 用于整数运算
expr 同上,功能较多
bc linux中的计算器,适合整数及小数运算
$[] 用于整数运算

3.2 运算方式及运算符号

运算符号

+ ,- 
* ,/ ,%
**
++ --
< <= > >=
+= -= /= %= *=

你可能感兴趣的:(shell)