shell编程之常用系统变量自定义变量特殊变量运算符
Posted 爱上口袋的天空
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了shell编程之常用系统变量自定义变量特殊变量运算符相关的知识,希望对你有一定的参考价值。
1、shell编程之常用系统变量
- $HOME
- $PWD
- $SHELL
- $USER
[linux@localhost datas]$ echo $HOME /home/linux [linux@localhost datas]$ echo $PWD /home/linux/datas [linux@localhost datas]$ echo $SHELL /bin/bash [linux@localhost datas]$ echo $USER linux
2、自定义变量
2.1、基本语法
- 定义变量:变量=值 等号两边不能留有空格
- 撤销变量:unset 变量
- 输出变量:echo $变量
- 声明静态变量: readonly 变量,注意:不能unset
[linux@localhost datas]$ A=1 [linux@localhost datas]$ echo $A 1 [linux@localhost datas]$ unset A
2.2、变量定义规则
- 变量名称可以由字母,数字和下划线组成,不能以数字开头,环境变量名建议大写
- 等号两侧不能有空格
- 在bash中,变量默认类型都是字符串类型,无法直接进行数值运算
- 变量的值如果有空格,需要使用双引号或单引号括起来
[linux@localhost datas]$ D="A B C" [linux@localhost datas]$ echo $D A B C
- 可把变量提升为全局变量,可供其他shell程序使用
export 变量
3、特殊变量
3.1、$n
$n (描述:n为数字,$0代表脚本名称,10以内参数用$1-9 表 示 , 10 以 上 的 需 要 用 大 括 号 包 含 ,10)
#!/bin/bash echo "$0 $1 $2 $3"
3.2、$#
$# (功能描述:获取所有输入参数个数,常用于循环)
#!/bin/bash echo "$0 $1 $2 $3" echo $#
[dhapp@conch01 shell]$ ./parameter.sh test1 test2 test3 ./parameter.sh test1 test2 test3 3 [dhapp@conch01 shell]$
3.3、$* 和$@
- $* (描述:代表命令行中所有的参数,把所有参数看成一个整体)
- $@ (描述:也代表命令行中所有的参数,不过把每个参数区分对待)
修改parameter.sh脚本:
#!/bin/bash echo $* echo $@
执行脚本:
[dhapp@conch01 shell]$ ./parameter.sh test1 test2 test3 test1 test2 test3 test1 test2 test3 [dhapp@conch01 shell]$
3.4、$?
$? (描述:最后一次执行命令的状态,0:正确执行)
4、运算符
- $((运算式)) 或 $[运算式]
- expr +,-,\\*,/,% 加减乘除取余
expr运算符间要有空格# 计算2+3 [linux@localhost datas]$ expr 2 + 3 5 # 计算(2+3)*4 ## 方式1 [linux@localhost datas]$ expr `expr 2 + 3` \\* 4 20 ## 方式2 [linux@localhost datas]$ s=$[(2+3)*4] [linux@localhost datas]$ echo $s 20
以上是关于shell编程之常用系统变量自定义变量特殊变量运算符的主要内容,如果未能解决你的问题,请参考以下文章