一、用户自定义变量
[root@localhost /]# name=123 直接定义变量即可
[root@localhost /]# echo $name
123
[root@localhost /]# name="$name"456
[root@localhost /]# echo $name
123456
set 查看所有变量
unset 变量名 删除某个变量
二、环境变量
[root@localhost /]# export age=18 定义环境变量
[root@localhost /]# env 查看所有环境变量
[root@localhost /]# unset age 删除变量通用
[root@localhost /]# bash 在当前shell中进入一个新shell叫做子sehll
[root@localhost /]# pstree 查看目录树
init─┬─anacron
├─auditd───{auditd}
├─crond
├─rsyslogd───3*[{rsyslogd}]
├─sshd───sshd───bash───bash───pstree
通过crt的ssh方式连接 登入系统默认的shell 刚才手动创建的子shell
三、位置参数变量
[root@localhost sh]# vi weizhicanshu1.sh
#!/bin/bash
sum=$(( $1+$2 ))
echo "sum is : $sum"
[root@localhost sh]# chmod 755 weizhicanshu1.sh
[root@localhost sh]# ./weizhicanshu1.sh 5 6
sum is : 11
[root@localhost sh]# cat weizhicanshu2.sh
#!/bin/bash
for i in "$*"
do
echo "$i" 所有参数看作整体循环一次
done
echo ------
for j in "$@"
do
echo "$j" 所有参数区分对待循环
done
[root@localhost sh]# ./weizhicanshu2.sh 1 2 3
1 2 3
------
1
2
3
四、预定义变量
[root@localhost sh]# ls
weizhicanshu1.sh weizhicanshu2.sh
[root@localhost sh]# echo $?
0 正确执行输出0
[root@localhost sh]# lss
bash: lss: command not found
[root@localhost sh]# echo $?
127 报错输出错误代码
五、read接收键盘输入
[root@localhost sh]# cat read.sh
#!/bin/bash
read -t 30 -p "input your name: " name
echo "$name"
read -t 30 -s -p "input your age: " age
#-s保护年龄隐私
echo -e
echo "$age"
read -t 30 -n 1 -p "select your sex[m/w]: " sex
#使用-n 1只接收一个字符直接返回不用回车
echo -e
echo "$sex"
[root@localhost sh]# chmod 755 read.sh
[root@localhost sh]# ./read.sh
input your name: haha
haha
input your age:
18
select your sex[m/w]: m
m