今天 脚本小编为大家介绍linux shell编程中有关变量和运算符的内容,不了解的朋友,一起来看看吧。
1.什么是shell变量 
2.本地变量 
variable_name=value 
set查看本地变量 
readonly variable_name 变量值不能被改变 
readonly查看只读的变量
3.环境变量 
环境变量是适用于所有用户进程(通常称为子进程)。登录进程称为父进程。shell中执行的用户进程均称为子进程。不像本地变量只用于现在的shell,环境变量可用户所有子进程,这包括,编辑器,脚本,应用。 
位置:$HOME/.bash_profile()(/etc/profile(所用用户)) 
/etc/profile:此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行.并从/etc/profile.d目录的配置文件中搜集shell的设置. 
/etc/bashrc:为每一个运行bash shell的用户执行此文件.当bash shell被打开时,该文件被读取. 
~/.bash_profile:每个用户都可使用该文件输入专用于自己使用的shell信息,当用户登录时,该文件仅仅执行一次!默认情况下,他设置一些环境变量,执行用户的.bashrc文件. 
~/.bashrc:该文件包含专用于你的bash shell的bash信息,当登录时以及每次打开新的shell时,该该文件被读取.
~/.bash_logout:当每次退出系统(退出bash shell)时,执行该文件. 
另外,/etc/profile中设定的变量(全局)的可以作用于任何用户,而~/.bashrc等中设定的变量(局部)只能继承/etc/profile中的变量,他们是"父子"关系. 
~/.bash_profile 是交互式、login 方式进入 bash 运行的 
~/.bashrc 是交互式 non-login 方式进入 bash 运行的 
通常二者设置大致相同,所以通常前者会调用后者。 
变量的显示,如:test="this is test"  echo ${test}
4.变量替换(显示变量) 
 
变量的清除: 
 
5.位置变量 
定义:位置变量表示$0,$1,$2,....$9 
$0 $1 $2 $3 $4 
脚本名 A B C D 
向脚本中使用位置参数; 
向系统命令传递参数;
例:./test<在程序中进行替换> 
 
<向系统命令中传递位置参数> 
 
6.标准变量 
bash默认建立一些环境变量就是标准变量,可以通俗的说就是不是你加的而是装好机子带的那些环境变量, 可在/etc/profile中进行定义,命令 意义 
HOME 用户主目录 
IFS 默认分隔符 
MAIL 邮箱地址 
MAILCHECK 邮箱检查间隔(秒) 
PWD 用户当前工作目录 
LOGNAME 当前用户登录名
7.特殊变量 
 
8.影响变量的命令 
 
使用"+"代替"-",可以颠倒选项的意思,-r除外, 
 
运算符 
顾名思义就是告诉计算机哪些数值应该用哪种运算符进行运算,+,-,*,,通过表达式对变量,数字,字符用的运算的符号就叫运算符; 
通常表达式:是运算符和数字,变量,字符对象的集合体; 
1 运算符类型; 
按位运算符;在其它语言中经常见到哦, 
~,<<,>>,|,^ 
$[]表示形式告诉shell求中括号中的表达式的值; 
$[ 2+8 ] 
运算符 说明 
~var 反运算符,把var中所有的二进制为1的变为0,为0的变为1 
var< 出的各位,最右端的各位上补上0值,每做一次按位左移就有实 
var乘2; 
var>>str 右移运算符,把var中所有的二进制位向右移动str位,忽略最右 
移出的各位,最左的各位上补0,每次做一次右移就有实现var除以2, 
var&str 与比较运算符,var和str对应位,对于每个二进制来 说,如果二都为1,结果为1.否则为0; 
var^str 异域运算符,比较var和str对应位,对于二进制来说,如果二者互补,结果为1,否则为0; 
var | str 或运算符,比较var和str的对应位,对于每个二进制来说,如二都该位有一个1或都是1,结果为1,否则为0; 
逻辑运算符 
&& 1 1才为1 
|| 有一个1即为1 
赋值运算符.+=,==,^=.|= 
let count =$count +=$change
2.表达式替换 
也就是刚才用的$[]等同于$(())