我在一个环境中工作,我们正在慢慢地将机器从 Red Hat Enterprise Linux 5 过渡到 RHEL 6。
我需要我的一些脚本在 RHEL6 机器上做一些与目前在 RHEL5 机器上做的事情略有不同的事情。
实用的解决方案是在运行时检查并在 RHEL5 上运行一些命令,在 RHEL6 上运行一些命令,在两者上运行一些命令。
一个实际的例子是我们正在使用环境模块并且我.bashrc
包含module load git
一行,但是在 RHEL6 机器上这个命令错误:
RHEL6 system, git should be installed - not loading module
Run Code Online (Sandbox Code Playgroud)
查看模块文件,我发现以下代码:
set redhatrelease [eval exec "cat /etc/redhat-release"]
if { [regexp -nocase {release 6} $redhatrelease] } {
puts stderr "\n\t RHEL6 system, git should be installed - not loading module\n"
} else {
...
}
Run Code Online (Sandbox Code Playgroud)
这似乎符合我的要求,但我希望能缩短一些时间。
那么,在 bash 脚本中告诉 RHEL5 和 RHEL6 的最简单方法是什么? …
OpenCV 2.4.2 在 Raspberry Pi 上编译需要 6 个小时,我很想将所有内容打包为 deb,但我以前从未这样做过。如何打包已编译的文件,以便它们下载或包含必要的其他库?
我对 X 打开下的窗口感到恼火,并将焦点从当前具有焦点的窗口移开。当您在密码对话框中输入密码而另一个应用程序窃取焦点时,这尤其令人讨厌,因此您的某些击键最终会出现在新应用程序中。
我一直对 Windows 中的这个感到恼火,但在那里几乎无能为力,我不禁觉得这应该可以在 Unix 上修复。
我目前使用 Gnome 作为我的桌面环境(在 RHEL 5.8 上),并且根据wmctrl -m
我目前Metacity
用作我的窗口管理器。虽然我更愿意坚持使用这些默认选项,但我很乐意了解不表现出这种行为的窗口管理器。