环境变量
属bash的一部分内容
变量 常量 此概念我认为你懂。
变量的设置:
#a=5 自定义变量,在shell环境大部分情况下不需指定变量类型。
变量的查看:
#env | grep a=5 查看环境变量
#set | grep a=5 查看所有变量
打印变量的值:
#echo $变量名称
#echo $a
环境变量:用来修饰用户工作环境的变量,这些变量都可以在env查到,所有的环境变量都拥有继承性
怎样让变量拥有继承性:
#export a
#export a=8
环境变量什么时候生效:在账户登录的时候
账户登录(一般,为什么一般,因为视情况可能会读取其他文件)要读取的4个脚本文件
/etc/profile
/etc/bashrc
~/.bash_profile
~/.bashrc
4个文件区别:3方面
1)作用范围:
/etc 对所有人生效
~/ 只对单独的某一个账户生效
2)登录shell:
当用户登录一个nologin shell的时候只会读取bashrc
当用户登录一个login shell的时候会读取全部4个文件
3) 一般我们自己设置变量会修改家目录下的两个文件
login shell :账户登录的时候需要输入用户名称
nologin shell:账户登录的时候无需输入用户名称(比如ctrl+shift+n打开的shell)
到底读不读,需读者自行测试,我这里就不在累述。
常用预定义系统环境变量:
#echo $USER 当前登录账户
root
#echo $HOSTNAME 当前主机名称
Wing.up.com
#echo $PWD 当前工作目录
/root/Desktop
# echo $PS1 一级提示符格式
[\u@\h \w]\$
#echo $PS2 二级提示符格式
>
PS2举例:
# for i in 1 2 3 4 5
> do
> echo $i
> done
1
2
3
4
5
# echo $PATH 所有命令所在路径都在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/apache2/bin
#echo $HOME 当前登录账户家目录
/root
#echo $LANG 当前所使用环境语言
zh_CN.utf8
#echo $HISTSIZE 历史命令个数
1000
#echo $SHELL
/bin/bash
#unset 变量名称
shell脚本初识:(看好。。是初始,哈哈,其中awk只为看,后面博客大概10几天左右会有详解)
bash
脚本怎么写:(没有涉及到bash语法)
把ls cd rpm mv cp等等这些非交互式命令写到一个文本文件里,然后再给他们指定一个命令解释器
例1:
#vim status.sh
1 #!/bin/bash 指定命令解释器为bash
2 #注释
3 #脚本作用
4 #version:0.1 author:tom
5 #version:0.2 author:wing
6 ip=`ifconfig eth0 | grep Bc |awk -F " " '{print $3}'|awk -F ":"
'{print $ 2}'`
7
8 echo "主机名称是:" $HOSTNAME
9 echo "ip地址是:" $ip
10 echo "当前时间是:"
11 date
12 echo "当前登录系统的账户:"
13 w
14 echo "当前磁盘分区情况:"
15 df -Th
16 rm -rf /tmp/*
例2:用shell添加类似以下用户到系统
# cat name.txt
xiaoming
xiaoli
lili
liming
1 #!/bin/bash
2 for ((i=1;i<=4;i=i+1))
3 do
4 name=`awk -v num=$i 'NR~num{print}' /tmp/name.txt`
5 useradd $name
6 echo 添加 $name 账户成功....
7 done
附:
Root账户桌面路径为中文想修改成英文怎么办(注:你之前会改,现在不会了,不知道你听懂没听懂,呵呵)?
1.将以下配置写到~/.bash_profile文件内
export LANG=en_US.UTF-8
注销==》登录==》弹出对话框==》点击右下更新目录名称==》注销==》输入用户名回车==》下方修改中文==》回车弹出对话框==》点击左下角保留目录名称==》OK祝你成功
2.主机名称设置,放在这里不论不类,为什么还放?哎,必须放,有人想看
#hostname 查看
wing.uplooking.com
#hostname wing.up.com 临时修改
#hostname
wing.up.com
#vim /etc/sysconfig/network 永久修改,测试不重启系统,直接重启网卡,会不会生效?
#vim /etc/hosts 添加主机名称与IP对应关系(不添?自己看着办)
192.168.0.250 wing.up.com
转载于:https://blog.51cto.com/winglinux/1332625