首页 > 代码库 > 环境变量
环境变量
要想学会Linux中的shell脚本,掌握环境变量尤为重要。下面跟大家分享下环境变量相关知识。
环境变量
常量 可以赋值给变量的任何字符串
变量 字符串 不能以数字开头,只能由数字,字母和下划线组成,可以接受赋值的字符串
如何自定义变量?
A=10
如何查看变量的值?
echo $A
取消变量
unset A
查看所有变量
set
set | grep HOSTNAME
查看环境变量
env
env | grep HOSTNAME
创建环境变量
USER 用户名
HOSTNAME 主机名
PWD 工作目录
PS1 一级提示符 PS1=hello
PS2 二级提示符 PS2=@ cat > a.txt << ok
HISTSIZE 历史记录
LANG 语言
UID uid
PATH
echo $PATH
/usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/sbin:/sbin:/usr/local/bin:/usr/bin:/bin:/root/bin
PATH=$PATH:/usr/local/apache/bin/
存放命令文件的目录 凡是在PATH路径下的命令可以在任何路径下执行
自定义变量 A=10
环境变量 export A 把自定义变量转换为环境变量
export A=10 直接设置环境变量
预定义变量
$# 位置参数的个数
$* 位置参数本身
$? 返回脚本或命令的执行状态 0为真 非0为假
$!
[root@server1 tmp]# cat a.sh
#!/bin/bash
echo 第一个位置次数为:$1
echo 第二个位置次数为:$2
echo 第三个位置次数为:$3
echo 第四个位置次数为:$4
echo $#
echo $*
./a.sh a b c d
a b c d 叫做位置参数 $n
$1 第一个位置参数 =a
$2 第二个位置参数 =b
$3 第三个位置参数 =c
位置变量
$1 $2 ...
循环控制
判断
shell基本功能
命令解释器 负责人机交互
shell分类
bash是redhat主流默认的shell
unix ---sh
cat /etc/shells
/bin/sh
/bin/bash
/sbin/nologin
/bin/dash
/bin/tcsh
/bin/csh
bash的特点:
1.支持历史记录
history 查看历史记录
历史命令
!38 直接执行第38条记录
!$ 上面操作的最有一个参数
alt. 上面操作的最有一个参数
ctrl+r
设置历史记录的条数
cat /etc/profile
HISTORY=1000
2.支持快捷键
ctrl +a 行首
+e 行尾
+u 往光标前删除
+k 删除光标后的包含光标
3.支持定义环境变量
/etc/bashrc
/etc/profile
~/.bashrc
~/.bash_profile
作用范围上:
/etc/下的针对所有用户有效
~/针对具体用户有效
非登录shell(无用户认证)
/etc/bashrc
~/.bashrc
登录shell(需要用户认证)
读取四个配置文件
vim /etc/bashrc
useradd user1
vim ~/.bashrc
useradd user2
/etc/profile
useradd user3
vim ~/.bash_profile
useradd user4
4.别名
查看
alias
设置
alias disk="df -h"
取消
unalias disk
命令表达式
“” 弱引用 (如果有变量的化可以取出变量的值)
cat a.sh
echo "中国人民欢迎您"
‘’ 强引用 有特殊变也不取值
`` `date +%F` 返回命令执行的结果
\ 转意符 还原为字符本身 fi\\e ---》fi\e
; 当一行执行多条命令的时候有;分隔
ls /home/ ;cat /etc/yum.conf
||
A||B 当前面A执行的结果为假的时候才执行后面的B
&
make & make install 两条命令一起执行 make成功后才可以make install
1.统计磁盘的使用率为:
2.当前登录的用户是:
3.本机的ip地址为:
4.当前的日期为:
5.当前的系统账户有几个?
6.当前系统的主机名为:
test
for
for (a=1;a<=10;a++){
command
command
for (a=1;a<=10;a++){
command
command
}
}
for i in {1..10}
for i in 1 2 3 4 5 6 7 8 9 10
for i in `seq 1 10 `
for i in $(seq 1 10)
批量添加用户
环境变量