Linux.中国 - 开源社区

 找回密码
 骑士注册

QQ登录

微博登录


Shell入门:掌握Linux,OS X,Unix的Shell环境

2015-3-31 08:05    评论: 20 收藏: 8 分享: 32    

查看当前的环境变量

你需要用到:

env
env | more
env | less
env | grep 'NAME'

示例输出:

TERM_PROGRAM=Apple_Terminal
SHELL=/bin/bash
TERM=xterm-256color
TMPDIR=/var/folders/6x/45252d6j1lqbtyy_xt62h40c0000gn/T/
Apple_PubSub_Socket_Render=/tmp/launch-djaOJg/Render
TERM_PROGRAM_VERSION=326
TERM_SESSION_ID=16F470E3-501C-498E-B315-D70E538DA825
USER=vivek
SSH_AUTH_SOCK=/tmp/launch-uQGJ2h/Listeners
__CF_USER_TEXT_ENCODING=0x1F5:0:0
PATH=/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/opt/X11/bin:/usr/local/go/bin:/usr/local/sbin/modemZapp:/Users/vivek/google-cloud-sdk/bin
__CHECKFIX1436934=1
PWD=/Users/vivek
SHLVL=2
HOME=/Users/vivek
LOGNAME=vivek
LC_CTYPE=UTF-8
DISPLAY=/tmp/launch-6hNAhh/org.macosforge.xquartz:0
_=/usr/bin/env
OLDPWD=/Users/vivek

下面是bash shell里一些常见变量的列表:

Fig.04: Common bash environment variables

图4:常见bash环境变量

注意:下面这些环境变量没事不要乱改。很可能会造成不稳定的shell会话:

SHELL

UID

RANDOM

PWD

PPID

SSHAUTHSOCK

USER

HOME

LINENO

显示环境变量的值

使用下面任意一条命令显示环境变量HOME的值:

## 使用printenv ##
printenv HOME

## 或者用echo ##
echo "$HOME"

# 考虑到可移植性,也可以用printf ##
printf "%s\n" "$HOME"

示例输出:

/home/vivek

增加或设定一个新环境变量

下面是bash,zsh,sh和ksh的语法:

## 语法 ##
VAR=value
FOO=bar

## 设定vim为默认文本编辑器 ##
EDITOR=vim
export $EDITOR

## 考虑安全性,设定默认shell连接超时时间 ##
TMOUT=300
export TMOUT

## 你可以直接使用export命令设定命令的搜素路径 ##
export PATH=$PATH:$HOME/bin:/usr/local/bin:/path/to/mycoolapps

然后,使用printenv或者echo或printf命令查看环境变量PATH,EDITOR,和TMOUT的值:

printenv PATH
echo "$EDITOR"
printf "%s\n" $TMOUT

怎么修改一个现有的环境变量?

下面是语法:

export VAR=value
## 或者 ##
VAR=value
export $VAR

## 把默认文本编辑器从vim改为emacs ##
echo "$EDITOR" ## <--- 屏幕输出vim
EDITOR=emacs   ## <--- 修改
export $EDITOR ## <--- 让修改在其他会话生效
echo "$EDITOR" ## <--- 屏幕输出emacs 

tcsh shell下增加和修改变量的语法是下面这样的:

## 语法
setenv var value
printenv var

## 设置变量foo的值为bar ##
setenv foo bar
echo "$foo"
printenv foo

## 设置变量PATH ##
setenv PATH $PATH\:$HOME/bin
echo "$PATH"

## 设置变量PAGER ##
setenv PAGER most
printf "%s\n" $PAGER
查看其它分页:

发表评论


最新评论

我也要发表评论

_Dreamer 2015-4-6 13:19
不明觉厉啊
回复
ZetaZ 2015-3-31 22:33  新浪微博网友评论
5 回复
linux 2015-3-31 15:50
1
sunriders 发表于 2015-3-31 14:12 的评论:
第一张有大图么?想做桌面
来啦:http://pichost.me/1346723/
回复
sunriders 2015-3-31 14:12
第一张有大图么?想做桌面
1 回复
埋头奔跑的草帽 2015-3-31 14:03  新浪微博网友评论
@我的印象笔记
回复
Esteem 2015-3-31 13:18
真心不知道花费这么多时间写这些零散的东西有什么用?要真想写出属于自己的Shellscript还是的找一本合适的书并多动手联系才是!
2 回复
linlover 2015-3-31 11:53
巩固学习!
回复
闲云岛 2015-3-31 11:03  新浪微博网友评论
[酷]
回复
崔波king 2015-3-31 10:33  新浪微博网友评论
这个要掌握~~
回复
Oakenshield_ 2015-3-31 10:03  新浪微博网友评论
Repost
回复
JACKALywz 2015-3-31 09:33  新浪微博网友评论
@保存到为知笔记
回复
苏生不惑 2015-3-31 09:33  新浪微博网友评论
Linux shell
回复
thank4u 2015-3-31 09:03  新浪微博网友评论
mark
回复
随便就行了 2015-3-31 09:03  新浪微博网友评论
@我的印象笔记
回复
Geequlim 2015-3-31 09:03  新浪微博网友评论
收藏。
回复
冰红茶911 2015-3-31 08:33  新浪微博网友评论
@有道云笔记收藏
9 回复
魏先森准备去漂泊Nic 2015-3-31 08:33  新浪微博网友评论
Repost
10 回复
哈尔滨Linux用户组 2015-3-31 08:33  新浪微博网友评论
Repost
回复
振云_percy 2015-3-31 08:33  新浪微博网友评论
好长,马克
回复
Pigzhu_朱 2015-3-31 08:33  新浪微博网友评论
@我的印象笔记
回复

热点评论

魏先森准备去漂泊Nic 2015-3-31 08:33
Repost
10
冰红茶911 2015-3-31 08:33
@有道云笔记收藏
9
ZetaZ 2015-3-31 22:33
5
Esteem 2015-3-31 13:18
真心不知道花费这么多时间写这些零散的东西有什么用?要真想写出属于自己的Shellscript还是的找一本合适的书并多动手联系才是!
2
sunriders 2015-3-31 14:12
第一张有大图么?想做桌面
1
返回顶部

分享到微信朋友圈

打开微信,点击底部的“发现”,
使用“扫一扫”将网页分享至朋友圈。