标签: environment-variables

退出时“少”命令清除屏幕 - 如何将其关闭?

如何强制less程序退出时不清除屏幕?

我希望它的行为像git log命令:

  • 退出时,它会在屏幕上留下最近看到的页面
  • less即使内容适合一个屏幕,它也不会退出(尝试git log -1

有任何想法吗?我less在手册中没有找到任何合适的选项或 env 变量,但我怀疑它是通过一些 env 变量设置的。

unix command-line environment-variables

93
推荐指数
3
解决办法
2万
查看次数

使用 setx 克服 1024 个字符的限制

我正在尝试使用setx命令设置环境变量,如下所示

setx PATH "f:\common tools\git\bin;f:\common tools\python\app;f:\common tools\python\app\scripts;f:\common tools\ruby\bin;f:\masm32\ bin;F:\Borland\BCC55\Bin;%PATH%"

但是,如果值超过 1024 个字符,我会收到以下错误:

警告:正在保存的数据被截断为 1024 个字符。

成功:指定的值已保存。

但是最后的一些路径没有保存在变量中,我猜是由于错误提示的字符限制。

windows-7 environment-variables windows-server-2008-r2

89
推荐指数
4
解决办法
10万
查看次数

bash 中“a=b”和“export a=b”的区别

有什么区别:

a=b
Run Code Online (Sandbox Code Playgroud)

export a=b
Run Code Online (Sandbox Code Playgroud)

在 bash 中?

我知道他们都定义了环境变量,但我不完全理解其中的区别。

bash shell environment-variables process

73
推荐指数
2
解决办法
9848
查看次数

以 Windows 7 用户身份覆盖 HOMEDRIVE 和 HOMEPATH

我的雇主有一个 Active Directory 组策略,它将我的 Windows 7 笔记本电脑 HOMEDRIVE 设置为“M:”(映射的网络驱动器),将我的 HOMEPATH 设置为“\”。由于我对该共享驱动器的根目录具有只读权限,因此无法在 Windows 主目录中创建文件或目录。我与 IT 部门合作的尝试没有成功。

有没有一种方式,全球在启动或登录时间改变这些envars?我需要所有应用程序都使用备用值(例如“C:”​​和“\Users\myname”)。我有一些已安装的实用程序(如 gvim 和其他)将首选项文件存储在用户的主目录中。

重要提示:在“系统属性 > 环境变量”下更改这些环境变量不起作用。我尝试将这些设置为用户和系统变量(包括重新启动)。SET HOME在 DOS 窗口中键入清楚地表明我的设置被忽略了。此外,“在开始”使用Windows快捷方式也没有解决这个问题,因为我需要一个像资源管理器右键菜单项的东西(如“用Vim编辑”)正常工作。

我确实拥有这家公司笔记本电脑的管理员权限,但我不是 Win7 专家。在过去,一个引导脚本可以在一分钟内解决这个问题。今天还有可能吗?谢谢。

windows-7 environment-variables active-directory

56
推荐指数
2
解决办法
8万
查看次数

如何在 bash 行 CURL 中包含环境变量?

尝试让传输在下载完成时通知。

这有效:

curl -u <my-api-token>: \
  -X POST https://api.pushbullet.com/v2/pushes \
  --header 'Content-Type: application/json' \
  --data-binary '{"type": "note", "title": "$TR_TORRENT_NAME", \
  "body": "$TR_TORRENT_NAME completed."}'
Run Code Online (Sandbox Code Playgroud)

...除了它推送$TR_TORRENT_NAME而不是该变量的实际内容。

我需要逃避一些引用或什么吗?

bash environment-variables

56
推荐指数
2
解决办法
10万
查看次数

如何让 sudo 保留我的环境变量?

在 Solaris 5.10 上使用 sudo 1.7.4p4,在 RHEL4 u6 上使用 sudo 1.6.7p5 我看不到如何保留我的环境变量,例如 $PYTHONPATH。我已将此行添加到 sudoers,但没有任何区别:

Defaults !env_reset
Run Code Online (Sandbox Code Playgroud)

我做错了什么,还是 sudo 安装根本不尊重 env_reset 标志?

编辑:至少在 Solaris 上,我们发现这个问题取决于 shell!标准的 root shell 是 Bourne,sudo bash另一方面,如果我们在 sudo ( )下运行 bash ,!env_preset 将保留环境(包括 PATH 和 LD_LIBRARY_PATH)。我不得不说,这是相当令人困惑的行为。

sudo environment-variables solaris-10 redhat-enterprise-linux

50
推荐指数
2
解决办法
11万
查看次数

为什么 Windows 不能处理 Path 中的环境变量?

我和我的同事安装了相同的戴尔工作站,并安装了 Windows XP Professional x64 版本。

我的 Path 环境变量以:

%JAVA_HOME%\bin;...
Run Code Online (Sandbox Code Playgroud)

我同事的 Path 变量包含相同的目录,使用相同的环境变量指定,但它不是他的 Path 中的第一项。

如果我访问系统属性 -> 环境变量并更改我的 JAVA_HOME 变量的值,则从命令行找到的 java 版本会按我的预期更改。这是启动一个全新的控制台窗口,以确保获取更改。

但是在我同事的机器上,它没有。他继续寻找他以前的 Java 版本,直到他调出他的 Path 变量并保存它(即使他没有对其进行任何更改)。(同样,这是在启动一个全新的控制台窗口时。)

我已经观察了 Windows 上的这种不一致大约 6 个月了,并且对此非常好奇。我们办公室里有太多版本的 Windows,所以我很少有机会在运行完全相同操作系统版本的两台机器上看到这种情况,直到现在。

这是什么原因造成的?为什么他的机器不使用新的 JAVA_HOME 重新评估 Path,而我的呢?

(是不是因为这不是 Path 中的第一件事?如果是这样,那怎么可能,为什么?我会做更多的测试来检查,但我认为他现在已经受够了,想回去工作.)

windows environment-variables

48
推荐指数
4
解决办法
8万
查看次数

无法解析 %windir%/无法修改在启动时重置的 %path% 或 %path%

请参阅下面的更新 3 和 4,了解问题是如何演变的


我的计算机(Windows 7 x64、Lenovo Thinkpad T530)在解决 %windir% 时遇到问题。开机后,一切正常。一段时间后,计算机突然无法解析 %windir%。

控制台窗口

检查环境变量窗口显示它已定义。

环境变量

检查注册表还显示它也已定义。我实际上已经删除了密钥并重新输入它无济于事。

注册表

重新启动后,一切正常一段时间。有没有人对我可以检查的其他内容有任何想法?


更新 1: 经过深思熟虑,我卸载了大约在此问题开始发生时安装的 Konica Minolta Pagebox 驱动程序/程序(请参阅下面的评论)。问题似乎需要大约 4-24 小时(我从来没有计时过)才会出现,所以在那之后我会再次更新。

更新 2: 问题仍在发生。我吃完午饭回来,找不到 %windir%。我今天早上重启后做了一个测试,让电脑进入睡眠状态,然后把它唤醒。%windir% 醒来后仍然定义。

更新 3: 根据评论中的 Daniel,我set在错误前后运行并比较了输出。我注意到的第一件事是,在全新启动时,我的%path% 是 2000+ 个字符长。我将其修剪为 ~375 个字符并在新的 cmd 窗口中进行验证。我重新启动,再次检查路径,它又回到了 2000 多个字符(它与我最初看到的相符)。我再次截断它并再次重新启动,同样的事情发生了。我删除了路径变量并创建了一个新变量;同样的事情发生了。在这一点上,我只能得出结论,要么我无法永久更改路径,要么路径在启动时被某个进程重置。有什么想法吗?

更新 4: 我通过下面建议的注册表方法编辑了我的路径。运行了一段时间后,我今天检查了我的路径,它从我输入注册表的内容开始增长;它现在有一些新条目和很多重复项。唯一的新条目来自 SQL Server 2012。我在注册表中进行了更改,我注意到注册表与echo %path%. 从高级属性选项卡检查环境变量显示了我的路径的第三个版本。

Registry Path:
C:\Program Files (x86)\Microchip\mplabc30\v3.30\bin;
C:\RUBY193\BIN;
C:\Windows\SYSTEM32;
C:\Windows;
C:\Windows\SYSTEM32\WBEM;
C:\PROGRAM FILES\COMMON FILES\LENOVO;
C:\SWTOOLS\READYAPPS;
C:\PROGRAM FILES (X86)\COMMON FILES\LENOVO;
C:\PROGRAM FILES (X86)\MICROCHIP\MPLAB C32 SUITE\BIN; …
Run Code Online (Sandbox Code Playgroud)

windows-7 environment-variables

45
推荐指数
2
解决办法
4万
查看次数

bash_profile 或 bashrc 中的环境变量?

我发现这个问题 [博客]:.bashrc 和 .bash_profile 之间的区别非常有用,但在看到投票最多的答案(顺便说一句非常好)后,我还有其他问题。在投票最多的正确答案结束时,我看到以下声明:

请注意,您可能会在这里和那里看到将环境变量定义放在 ~/.bashrc 中或始终在终端中启动登录 shell 的建议。两者都是坏主意。

  1. 为什么这是一个坏主意(我不是想打架,我只是想了解)?

  2. 如果我想设置一个环境变量并将其添加到 PATH(例如 JAVA_HOME)中,它是放置导出条目的最佳位置?在~/.bash_profile~/.bashrc 中

  3. 如果问题 2 的答案是~/.bash_profile,那么我还有两个问题:

    3.1. 你会在~/.bashrc下放什么?只有别名?

    3.2. 在非登录 shell 中,我相信~/.bash_profile没有被“拾取”。如果 JAVA_HOME 条目的导出在 bash_profile 中,我是否能够执行javacjava命令?它会在 PATH 上找到它们吗?这就是为什么某些帖子和论坛建议将 JAVA_HOME 等设置为~/.bashrc 的原因吗?

    提前致谢。

bash path environment-variables bashrc .bash-profile

44
推荐指数
1
解决办法
6万
查看次数

如何恢复我删除的Path环境变量?

我不小心通过创建一个带有路径名的新环境变量删除了 Path 环境变量。如何恢复旧的 Path 环境变量?

windows windows-registry path environment-variables

42
推荐指数
5
解决办法
21万
查看次数