Linux环境变量

$env       #查看所有与终端相关的环境变量
$cat /proc/$PID/environ    #查看所有进程运行时的相关变量

PID可以通过pgrep获得:

$pgrep gedit   #获得进程gedit的进程号

得到的结果以null(\0)分隔,如果想一行一条:

$cat /proc/$PID/environ | tr '\0' '\n'

变量赋值:

[student@myhost ~]$ var=value
[student@myhost ~]$ var=valu e
bash: e: command not found...
[student@myhost ~]$ var="valu e"

我们知道赋值时若有空格需加双引号或单引号。
输出变量:

[student@myhost ~]$ echo $var
valu e
[student@myhost ~]$ echo ${var}
valu e
[student@myhost ~]$ echo '$var'         #单引号中的内容不会被扩展
$var
[student@myhost ~]$ echo "$var"
valu e

Shell脚本中的使用:

[student@myhost ~]$ cat b
f=apple
c=5
echo I have $c ${f}s.
[student@myhost ~]$ ./b
I have 5 apples.

export命令设置环境变量。
获得字符串长度:

[student@myhost ~]$ echo "$var"
valu e
[student@myhost ~]$ echo ${#var}
6

检查当前Shell类型:

[student@myhost ~]$ echo $SHELL
/bin/bash
[student@myhost ~]$ echo $0
bash

检查是否是root用户运行的:

[root@myhost student]# cat c
if [ $UID -ne 0 ];then
    echo noroot
else
    echo root
fi
[root@myhost student]# ./c
root
[student@myhost ~]$ ./c
noroot

利用函数添加环境变量:
可以将以下函数加入到.bashrc中:

[student@myhost ~]$ cat .bashrc 
# .bashrc

# Source global definitions
if [ -f /etc/bashrc ]; then
	. /etc/bashrc
fi

prepend() { [ -d "$2" ] && eval $1=\"$2':'\$$1\" && export $1; }
# Uncomment the following line if you don't like systemctl's auto-paging feature:
# export SYSTEMD_PAGER=

# User specific aliases and functions
[student@myhost ~]$ echo $PATH
/usr/lib64/qt-3.3/bin:/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/bin:/sbin:/home/student/.local/bin:/home/student/bin
[student@myhost ~]$ prepend PATH /home/student
[student@myhost ~]$ echo $PATH
/home/student:/usr/lib64/qt-3.3/bin:/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/bin:/sbin:/home/student/.local/bin:/home/student/bin

prepend函数的作用为将/home/student目录添加到PATH路径最前面,其中$2代表第二个参数,-d代表目录是否存在,eval将后边的参数执行,最后export使其成为环境变量。
若变量为空,则最后会产生一个冒号,可这样避免:

prepend1() { [ -d "$2" ] && eval $1=\"$2\$\{$1:+':'\$$1\}\" && export $1; }

其中$1:+意义为若$1不为空则使用+后边的值。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值