【发布时间】:2011-05-24 19:52:16
【问题描述】:
我想在 bash 中找出我的环境变量。它们是否存储在某个地方?
【问题讨论】:
-
哇,真快!我想所有的命令都可以解决问题。导出命令前面给了我很多“declare -x”。谢谢大家!
-
将此问题作为离题结束是不恰当的。在 Linux 上编程时,正如我目前所做的那样,发现环境变量是什么通常很有用。很多人都认为这是一个有用的问题,包括我在内。
我想在 bash 中找出我的环境变量。它们是否存储在某个地方?
【问题讨论】:
我不确定这是否是您想要的,但请尝试printenv
这将向您显示所有环境变量。
关于它们的存储位置
Linux: where are environment variables stored?
如何设置Shell环境变量
http://www.codecoffee.com/tipsforlinux/articles/030.html
阅读愉快:-)
【讨论】:
或设置:
SET(P) POSIX Programmer’s Manual SET(P)
NAME
set - set or unset options and positional parameters
SYNOPSIS
set [-abCefmnuvx][-h][-o option][argument...]
set [+abCefmnuvx][+h][+o option][argument...]
set -- [argument...]
set -o
set +o
DESCRIPTION
If no options or arguments are specified, set shall write the names and values of all shell variables in the collation sequence of the current locale. Each name
shall start on a separate line, using the format:
"%s=%s\n", <name>, <value>
The value string shall be written with appropriate quoting; see the description of shell quoting in Quoting . The output shall be suitable for reinput to the
shell, setting or resetting, as far as possible, the variables that are currently set; read-only variables cannot be reset.
【讨论】:
env 或 printenv 更好。在 bash 中,set 还将打印您定义的所有函数,在像 ubuntu 这样的系统上,这是一个 非常 长的打印输出。
只需在终端中执行env。
示例输出:
$ env
TERM=xterm
SHELL=/bin/bash
USER=joksnet
USERNAME=joksnet
DESKTOP_SESSION=gnome
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
PWD=/home/joksnet
GDM_KEYBOARD_LAYOUT=us
LANG=en_US.utf8
HOME=/home/joksnet
DISPLAY=:0.0
COLORTERM=gnome-terminal
_=/usr/bin/env
【讨论】:
env | sort 也进行排序
env | sort | grep 'USER' 进行排序和过滤
输入export,不带任何参数。
【讨论】:
export 打印了一些不需要的信息 (declare -x),但我喜欢它按名称对变量进行排序