Shell 之 Bash 变量
变量调用 echo
变量查看 set
查看所有变量(本地变量和环境变量),如果只查询环境变量使用env命令即可
变量取消 unset
一:用户自定义变量
二:环境变量
export 声明环境变量
语法:export 变量名=变量值
也可以把一个已经声明的本地变量设置为环境变量
eg: name=zhangsan
export name
env 查看环境变量
pstree 确定进程树
常见的环境变量
PATH
系统查找命令的路径,多个路径之间用冒号":"分开
PATH="$PATH":/root/sh #环境变量叠加的方法
PS1 (系统预留的用户操作系统环境的变量)
定义系统提示符的变量
默认是:PS1='[\u@\h \W] ' echo PS1 查看变量的值
三:位置参数变量
eg:sum.sh
#!/bin/bash
sum=$(( $1+$2 ));
echo "sum is: $sum"
执行命令:sh sum.sh 10 22 注意不要忘记后面两个数字参数了。
eg: canshu.sh
#!/bin/bash
for i in $*
do
echo '$* = '+$i;
done
for i in $@
do
echo '$@ = '+$i;
done
四:预定义变量
read 接收键盘输入
语法:read [选项] [变量]
选项:
-p "提示信息":在等待read输入时,输出提示信息。 prompt 缩写
-t 秒数 等待输入的秒数。timeout 缩写
-n 接受等待的字符数,如果不定义该参数,要回车才会结束该参数输入。nchars缩写
-s 隐藏输入的数据。
eg:
read.sh
#!/bin/bash
read -t 30 -p "please input your name " name
echo -e "\n"
echo $name
read -t 30 -s -p "please input your age" age
echo -e "\n"
echo $age
read -t 30 -n 1 -p "please input your gender[F/M]" gender
echo -e "\n"
echo $gender
数字运算
a=3
b=5
method1:d=$(($a + $b)); #注意:”=”左右两边不能有空格,
Method2:f=$[$a+$b];
method3:declare -i c=$a+$b;
method4:e=$(expr $a+$b); #注意:”=”左右两边不能有空格,”+”左右两边必须要有空格
declare
运算符优先级
变量替换
环境变量配置文件
/etc/目录下的对所有用户生效,~/目录下的对当前用户生效
source 命令
修改配置文件后强制让指定配置文件生效。
语法:source 配置文件
或者. 配置文件
环境变量配置文件读取顺序图
/etc/profile的作用
/etc/bashrc的作用
~/bash_logout 注销时需要做的操作
~/bash_history 所有敲过的历史命令
shell登录信息