Linux 发行版包含多个系统用户帐户,例如daemon
、bin
、sys
等。Debian 包含一个backup
.
实际使用这个账户可以吗?也就是说,赋予该帐户通过 SSH 登录的能力,以便它可以进行备份。我已经做到了这一点并且效果很好,但我想知道是否有理由不应该这样做。
假设我有这样的数据:
{
"18" : [ 2, 3, 3 ],
"28" : [ 2, 2, 7 ],
"45" : [ 3, 3, 5 ]
}
Run Code Online (Sandbox Code Playgroud)
我想进行一个jq
查询,返回对象的一个/多个键以及包含给定值的数组。例如,2存在于键“18”和“28”中,而7仅存在于“28”中。这是我有兴趣查找的父对象的名称。我已经阅读了手册,但似乎找不到类似的示例。
retry
与 配对时出现命令问题rsync
。 retry
是一个Debian 软件包,并声明它可以“重复命令,直到满足条件,通常会成功。”。rsync
尝试在有时会失败的连接上使用它。但是它总是给出相同的错误giving up: No such file or directory
::
retry '/usr/bin/rsync -av source destination'
retry: Could not execute 'rsync -av source destination', giving up: No such file or directory
Run Code Online (Sandbox Code Playgroud)
source
和两者都destination
存在。我尝试过使用绝对路径、单引号和双引号、路径周围的引号以及路径作为变量,但都不起作用。我可以使用此解决方案中的方法,但在执行多个目录时相当麻烦。我有什么遗漏的吗?
我正在尝试使用命名管道,以便可以保留stdout
长进程的状态输出。我可以用于stderr
状态输出,但我想保留它以防止错误。这是一个例子:
#!/bin/bash\npipe=$(mktemp -u)\nmkfifo $pipe\n\ndd if=/dev/zero of=$pipe bs=1M count=1024 status=progress & cat $pipe > test.bin\n\n# \xc2\xbf\xc2\xbf\xc2\xbf Status of dd command ???\n\nrm $pipe\n
Run Code Online (Sandbox Code Playgroud)\n该命令并不完全是我想要做的,但说明了使用命名管道将一个进程的输出馈入另一个进程的输入的组合。在我的应用程序中,dd
被替换为一些长时间运行的命令,并被cat
替换为ssh
. 这将执行我想要的操作,但我不知道如何获取命令的状态dd
并$?
返回命令的状态cat
。如果这是一个管道,我可以使用PIPESTATUS
,但这似乎不适用于并行进程。在实际应用中,其中一个(或两个)命令可能会失败。
有没有办法获取并行运行的进程的状态?除了命名管道之外,是否有更好的方法来完成此任务?
\n