什么是变量
变量是暂时存储数据的地方,所存储的数据存在于内存空间中,通过调用内存空间中变量的名字取出与变量对应的数据。
常见变量类型
- 环境变量
- 局部变量
- Shell变量
环境变量用于定义Shell的运行环境,保证Shell命令正确执行。
环境变量可分为自定义环境变量和bash内置环境变量。
环境变量名字均采用大写。
环境变量创建
第一种方式:
命令行创建,退出即丢失
第二种方式:
配置文件创建,永久保存。
配置文件路径为家目录下的.bash_profile或.bashrc
环境变量查询
set
输出全局变量和局部变量
env
只输出全局变量
declare
输出所有的变量、函数、导出的变量
set -o 显示bash Shell所有参数的配置信息
[[email protected] yum.repos.d]# set -o allexport off braceexpand on emacs on errexit off errtrace off functrace off hashall on histexpand on history on ignoreeof off interactive-comments on keyword off monitor on noclobber off noexec off noglob off nolog off notify off nounset off onecmd off physical off pipefail off posix off privileged off verbose off vi off xtrace off
自定义临时环境变量
三种方式自定义环境变量,如变量名NAME,值tz
[[email protected] ~]# export NAME=tz [[email protected] ~]# NAME=tz;export NAME [[email protected] ~]# declare -x NAME=tz
自定义永久环境变量
常见在用户加目录下配置文件中定义。
路径为
./bashrc(推荐在此配置)
.bash_profile
自定义登录提示
1、在/etc/motd文件中定义
[[email protected] ~]# echo ‘Hi! My dear~‘ > /etc/motd [[email protected] ~]# exit 连接断开 连接成功 Last login: Sat Apr 4 23:11:15 2020 from 192.168.213.1 Hi! My dear~
2、在/etc/profile.d/目录下定义脚本文件
这里注意需要使用echo命令输出
[[email protected] ~]# echo ‘echo "Hi! My dear2~"‘ >/etc/profile.d/welcome.sh [[email protected] ~]# exit 连接断开 连接成功 Last login: Sun Apr 5 01:21:02 2020 from 192.168.213.1 Hi! My dear~ Hi! My dear2~
显示跟取消环境变量
1、通过echo或printf命令打印环境变量
printf需要使用\n换行输出
[[email protected] ~]# echo $HOME /root [[email protected] ~]# echo $PWD /root [[email protected] ~]# echo $USER root [[email protected] ~]# printf "$HOME\n" /root
2、使用env或set显示默认的环境变量
env只输出环境变量
[[email protected] ~]# env XDG_SESSION_ID=13 HOSTNAME=tz SELINUX_ROLE_REQUESTED= TERM=xterm SHELL=/bin/bash HISTSIZE=1000 SSH_CLIENT=192.168.213.1 14832 22 SELINUX_USE_CURRENT_RANGE= SSH_TTY=/dev/pts/0 USER=root
set输出环境变量跟局部变量
[[email protected] ~]# set BASH=/bin/bash BASHOPTS=checkwinsize:cmdhist:expand_aliases:extquote:force_fignore:histappend:hostcomplete:interactive_comments:login_shell:progcomp:promptvars:sourcepath BASH_ALIASES=() BASH_ARGC=() BASH_ARGV=() BASH_CMDS=() BASH_LINENO=() BASH_SOURCE=()
3、unset删除本地跟环境变量
[[email protected] ~]# export NAME=tx [[email protected] ~]# echo $NAME tx [[email protected] ~]# unset NAME [[email protected] ~]# echo $NAME
原文地址:https://www.cnblogs.com/tz90/p/12633072.html
时间: 2024-08-30 12:15:34