Shell 变量
Shell 变量
ip=192.168.4.254
soft=ftp
baseurl=ftp://$ip/rhel6/Server
yum-y install $soft
service $soft start
chkconfig $soft on
变量名称=变量值
变量名称:字母,数字,_,但是不能以数字开始
相关注意事项:
1、若指定的变量名已经存在,相当于为此变量重新赋值。
2、等号两边不要有空格
3、变量名由字母、数字、下划线组成,区分大小写
4、变量名称不能以字母开始,不要使用关键字和特殊字符
SHELL变量----shell的变量是弱类型的变量
引用变量值:$变量名
查看变量值:echo $变量名、 echo ${变量名}
取消变量: unset 变量名称
[root@vh01 script]# A=12
[root@vh01 script]# echo $A
12
[root@vh01 script]# echo $Armb
[root@vh01 script]# echo ${A}rmb
12rmb
[root@vh01 script]# echo $"A"rmb
Armb
[root@vh01 script]# echo "$A"rmb
12rmb
[root@vh01 script]# echo '$A'rmb
$Armb
[root@vh01 script]# uset A
1、环境变量,写在profile 的变量
/etc/profile
环境变量 变量通常都大写
位置变量 bash内置,存储执行脚本时提供的参数
预定义变量 bash内置,一类有特殊用途的变量
自定义变量 由用户自主设置、修改及使用
配置文件
/etc/profile
~/.bash_profile
[root@vh01 script]#env 查看环境变量
[root@vh01 script]#set 查看所有的变量
[root@vh01 script]# vim test4.sh
#!/bin/bash
echo $0 #显示脚本的名称(当前所在的进程或脚本名)
echo $1 #显示第一个参数
echo $2 #显示第二个参数
echo $3 #显示第三个参数
echo $* #显示所有参数 (所有位置变量的值)
echo $@ #显示所有参数
echo $# #统计参数有多少个(已加载的位置变量的个数)
echo $$ #显示当前运行的PID号
echo $? #命令执行后的返回状态,0表示正常,1或者其他表示异常
[root@vh01 script]# chmod +x test4.sh
[root@vh01 script]# ./test4.sh a b c d 1 2 3 4
./test4.sh
a
b
c
a b c d 1 2 3 4
a b c d 1 2 3 4
8
2212
[root@vh01 script]# vim myuseradd
#!/bin/bash
useradd $1
echo $2|passwd --stdin $1
[root@vh01 script]# chmod +x myuseradd
[root@vh01 script]# ln -s /script/myuseradd /usr/bin
[root@vh01 script]# myuseradd tom 123
区分三种定界符
双引号"": 允许扩展,以$引用其他变量 引整体
单引号'': 禁止扩展,即便$也视为普通字符
反撇号``: 将命令的执行输出作为变量值
"" 引整体
'' 引整体,屏蔽特殊符号
`` 和$()一样
\ 屏蔽
crontab -e
每周五备份/var/log tar备份, root
00 03 * * 5 tar -czf /root/backup_log_`date +%Y%m%d`.tar.gz /var/log
#!/bin/bash
read -p "请输入用户名:" name
stty -echo
read -p "请输入密码:" pass
stty echo
useradd $name
echo "$pass"|passwd --stdin $name
#!/bin/bash
read -t 5 -p "你是否真的无情删除$1吗y/n:" ok
rm -rf $1
局部变量
全局变量 export