很难承认,但我从来没有真正理解export
过环境变量究竟做了什么。我知道如果我不导出变量,我有时在子进程中看不到它,但有时似乎可以。当我说的时候到底发生了什么
export foo=5
Run Code Online (Sandbox Code Playgroud)
什么时候不应该导出变量?
我真的很喜欢 zsh 的一般速度,但是有两件事让我很恼火。
zsh: do you wish to see all 514 possibilities (172 lines)
)a
或进入插入模式后A
,我无法退格超过进入插入模式的点。我知道 2 就像经典的 vi,但我更喜欢 vim 风格。
从 OS X 开始,我通过 ssh 进入 foo(一个 Linux 机器)。我的终端标题更改为 foo。然后我 ssh 进入 bar(另一个 Linux 机器)。我的终端标题更改为 bar。我退出了酒吧。我的终端标题更改为 foo。我退出 foo。我的终端标题保持 foo (而不是改回原来的标题)。问题显然不在于终端,因为在从 Linux 机器注销回到 Linux 机器时它可以正常工作。它可能不是 ssh,因为我对 vim 有同样的问题。在我看来,离开了贝壳。我正在使用 BASH。纵观整个环境,我没有看到 Linux 机器和我的 OS X 机器之间有太大区别。两者都使用 xterm 的术语。
我在Mac OS X 中使用iTerm。当我运行时,终端被调整大小并且我收到消息screen
Aborted because of window size change.
Run Code Online (Sandbox Code Playgroud)
然而,screen
仍在运行。
如何让它停止调整终端大小?
我可以在 Vim 中使用<Ctrl>-a
. 文档似乎说,如果我设置nrformats
为"octal,hex,alpha"
(我正在尝试使用:set nrformats="octal,hex,alpha"
),那么<Ctrl>-a
将a
增加到b
、007
到010
和0x09
到0x0f
,但是这些示例对我不起作用(我只是听到哔哔声a
,007
变成008
,然后0x09
变成0x10
)。
我很快就要做一个闪电般的演讲,需要整理一些幻灯片。这是一个关于 Perl 文档的技术讨论。我将使用 OS X 机器来运行演示软件。
我想要的东西是
我成为 UNIX 用户的时间比我想的要多,在那段时间里,我接受的训练是期望当给一个程序提供矛盾的开关时,最后一个会获胜。最近我注意到
cat -bn file
Run Code Online (Sandbox Code Playgroud)
和
cat -nb file
Run Code Online (Sandbox Code Playgroud)
两者都-b
在-n
选项(编号所有行)上使用选项(编号非空行)。我在 BSD 和 Linux 上都有这种行为,所以我认为这不是实现上的怪癖。这是在某处指定的东西吗,我是否因为期望第一个示例对所有行进行编号而感到疯狂?
我刚刚注意到在 OS X 10.6.4 上 root 的 shell 设置为/bin/sh
. 运行 Bash 是否存在安全问题或其他问题?
macos ×4
bash ×3
command-line ×2
shell ×2
cat ×1
export ×1
gnu-screen ×1
iterm ×1
perl ×1
shell-script ×1
slideshow ×1
software-rec ×1
ssh ×1
terminal.app ×1
unix ×1
vim ×1
zsh ×1