小编Lag*_*ian的帖子

Bash:“历史编号”与“命令编号”

在谷歌搜索如何通过 PS1 变量自定义我的 shell 提示时,我看到了可以使用的特殊字符表。特别是:

          \!     the history number of this command
          \#     the command number of this command
Run Code Online (Sandbox Code Playgroud)

“历史编号”似乎更常用,我知道如何使用命令,例如!523从历史记录中重做命令。但我无法弄清楚“命令编号”是否具有类似的功能。我试过放入\#我的 PS1 变量,它似乎输出了在特定会话中输入的命令数(不像\!,它在注销/退出后仍然存在)。

任何人都知道如何以方便或有意义的方式使用“命令编号”?

command-line bash command-history

12
推荐指数
2
解决办法
6663
查看次数

rsync 使用部分相对路径

假设我在本地机器上有一个位于防火墙后面的目录:

local:/home/meee/workdir/
Run Code Online (Sandbox Code Playgroud)

以及远程机器上的目录,在防火墙的另一边:

remote:/a1/a2/.../aN/one/two/
remote:/a1/a2/.../aN/one/dont-copy-me{1,2,3,...}/
Run Code Online (Sandbox Code Playgroud)

...这样N>= 0。

我的本地机器有一个使用rsync. 我希望这个脚本只one/two/从远程机器复制一个可变但已知的“N”,这样我最终得到:

local:/home/meee/workdir/one/two/
Run Code Online (Sandbox Code Playgroud)

如果我使用rsync remote:/a1/a2/.../aN/one/two/ ~/workdir/,我最终会得到:

local:/home/meee/workdir/two/
Run Code Online (Sandbox Code Playgroud)

如果我使用rsync --relative remote:/a1/a2/.../aN/one/two/ ~/workdir/,我最终会得到:

local:/home/meee/workdir/a1/a2/.../aN/one/two/
Run Code Online (Sandbox Code Playgroud)

这些都不是我想要的。

  1. 是否有rsync可以达到预期结果的标志?
  2. 如果没有,谁能想到一个简单的解决方案?

rsync

12
推荐指数
2
解决办法
1万
查看次数

标签 统计

bash ×1

command-history ×1

command-line ×1

rsync ×1