linux学习笔记(一)—变量
来源:互联网 发布:python unicode转中文 编辑:程序博客网 时间:2024/06/05 23:01
shell预设了很多变量,一般都是大写的,使用简单的字符串来代替某些具有特殊意义的设定以及数据,例如PATH就是代替了所有常用命令的绝对路径的设定。
通过env可以查看系统预设的环境变量
[root@cailikun app]# envHOSTNAME=cailikunSELINUX_ROLE_REQUESTED=TERM=xtermSHELL=/bin/bashHISTSIZE=1000SSH_CLIENT=10.3.36.245 10815 22SELINUX_USE_CURRENT_RANGE=OLDPWD=/app/softwareSSH_TTY=/dev/pts/0USER=rootLS_COLORS=rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=01;05;37;41:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arj=01;31:*.taz=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.dz=01;31:*.gz=01;31:*.lz=01;31:*.xz=01;31:*.bz2=01;31:*.tbz=01;31:*.tbz2=01;31:*.bz=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.rar=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.jpg=01;35:*.jpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.axv=01;35:*.anx=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=01;36:*.au=01;36:*.flac=01;36:*.mid=01;36:*.midi=01;36:*.mka=01;36:*.mp3=01;36:*.mpc=01;36:*.ogg=01;36:*.ra=01;36:*.wav=01;36:*.axa=01;36:*.oga=01;36:*.spx=01;36:*.xspf=01;36:MAVEN_HOME=/app/apache-maven-3.3.9MAIL=/var/spool/mail/rootPATH=/usr/local/jdk1.8.0_101/bin:/usr/local/jdk1.8.0_101/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin:/app/apache-maven-3.3.9/binPWD=/appJAVA_HOME=/usr/local/jdk1.8.0_101LANG=zh_CN.UTF-8SELINUX_LEVEL_REQUESTED=SSH_ASKPASS=/usr/libexec/openssh/gnome-ssh-askpassHISTCONTROL=ignoredupsSHLVL=1HOME=/rootLOGNAME=rootCLASSPATH=.:/usr/local/jdk1.8.0_101/lib/di.jar:/usr/local/jdk1.8.0_101/lib/tools.jarSSH_CONNECTION=10.3.36.245 10815 10.3.36.184 22LESSOPEN=||/usr/bin/lesspipe.sh %sG_BROKEN_FILENAMES=1_=/bin/env
上述常用环境变量的意义为:
- PATH shell将在那些目录寻找命令或程序- HOME 当前用户主目录- HIST SIZE 历史记录数- LOGNAME 当前用户的登录名- HOSTNAME 主机的鄂明成- SHELL 当前用户Shell类型- LANG 语言相关的环境变量,多语言可以修改此环境变量- MAIL 当前用户的邮件存放目录- PWD 当前目录
env显示的变量只是环境变量,系统预设的变量其实还有很多,可以通过set命令讲系统预设的全部变量显示出来。
想要自定义变量,直接在shell中进行设置即可 [root@cailikun app]# myname=cailikun
这种形式自定义的变量只能在当前shell中生效,通过bash命令新建一个shell的话,之前设置的”myname“便不再存在。
[root@cailikun app]# echo $myname
cailikun
[root@cailikun app]# bash
[root@cailikun app]# echo $myname
[root@cailikun app]#
如果想要设置的变量一直生效,可以通过以下两种方法进行设置:
1. 要想系统内所有用户登录后都能使用该变量
在/etc/profile中添加export myname=cailikun
,然后运行source /etc/profile
就可以生效了。
2. 只想让当前用户使用该变量
需要在用户家目录下的.bashrc
文件最后一行添加export myname=cailikun
然后运行source .bashrc
自定义变量规则
上文中使用myname=cailikun
来设置变量,当涉及特殊情况时需要注意linux的特殊规则
1. 以”a=b”的形式设定,等号两遍不能有空格
2. 变量名是由字母、数字、下划线组成的,以字母、数字开头的组合
3. 当变量内容带有空格时,需要加上单引号;当内容带有单引号时,需要使用双引号。
[root@cailikun ~]# myname='cai likun'
[root@cailikun ~]# myname="cai'likun"
4. 当内容中需要使用其他命令时,需要使用反引号。
pwd
[root@cailikun ~]# myname=
[root@cailikun ~]# echo $myname
/root
5. 当变量内容需要累加其他变量的内容时,需要使用双引号
[root@cailikun ~]# myname="$LOGNAME"Cai
[root@cailikun ~]# echo $myname
rootCai
- linux学习笔记(一)—变量
- linux awk 学习笔记一(print 、变量、数组)
- perl学习笔记一----变量
- Perl学习笔记(一)--变量
- shell学习笔记一 变量
- perl学习笔记一----变量
- perl学习笔记一----变量
- Linux学习笔记(一)
- Linux学习笔记一
- linux学习笔记一
- linux学习笔记一
- linux学习笔记一
- Linux学习笔记(一)
- Linux学习笔记一
- Linux学习笔记(一)
- linux学习笔记一
- Linux学习笔记一
- Linux学习笔记一
- 验证手机号的正则表达式
- POST请求的两种格式
- shareSDK第三方分享完整版
- iOS 多线程总结
- Python开发入门详解
- linux学习笔记(一)—变量
- 简单工厂模式
- 【翻译】Java 面向对象编程基本概念
- RTCP TMMBR字段解析
- nginx变量
- .pch文件的作用及常见的一些问题
- java中float的取值范围
- easyUI treeGrid异步加载,前端+后台实现,包括增删改等具体功能
- #90 k Sum II