如何保存通过终端完成的所有工作的日志?例如,我想要通过终端记录在数据库上完成的所有工作。
抱歉标题混乱!
假设我跑
apt-cache depends kde-window-manager > ~/Desktop/kwin-depends
Run Code Online (Sandbox Code Playgroud)
我会在我的桌面文件夹中得到一个名为“kwin-depends”的文件。
是否有一些技巧可以将我发出的命令作为文件的一部分包含在内,最好是在文件的开头?
所以,至少在 14.04 LTS 中,前几行看起来像这样:
apt-cache depends kde-window-manager > ~/Desktop/kwin-depends
kde-window-manager
Depends: kde-runtime
Depends: libc6
|Depends: libegl1-mesa
Depends: <libegl1-x11>
Run Code Online (Sandbox Code Playgroud)
而不是像这样:
kde-window-manager
Depends: kde-runtime
Depends: libc6
|Depends: libegl1-mesa
Depends: <libegl1-x11>
Run Code Online (Sandbox Code Playgroud) TL;DR:默认的 shell 手册页说有 vi 编辑模式,但set -o vi实际上并没有启用它
在许多 shell 中,包括dashPOSIX 标准规定set -o vi将启用 vi 编辑模式,其中交互式shell 的用户可以使用 vi 样式的快捷方式导航行。在dash(Ubuntu 的默认 shell 符号链接到/bin/sh)中,这不起作用,即使手册页指定此功能可用。
例子 :
$ dash
$ set -o vi
$ hello wolrd^[I
Run Code Online (Sandbox Code Playgroud)
应该发生的是,使用Esc, Shift+i快捷方式光标应该跳到行的开头。如您所见,我得到了一个控制字符作为输出。我已经要求一些用户在 AskUbuntu Chat 中对此进行测试,他们确认了相同的行为。
请注意,这与终端模拟器无关 - 我在 3 个不同的模拟器中对其进行了测试:xterm、gnome-terminal 和终结器。我已经用其他 shell 对此进行了测试bash,mksh并且ksh93- 都按预期正常工作,所以这是 -dash唯一的问题。