小编Tho*_*key的帖子

在管道后多次运行带有多个参数的相同命令

我有一个由get_key.

有了这个密钥,我可以对我的加密文件做几件事。例如,我可以解密它们。

get_key | tee >(decrypt file1) >(decrypt file2)

我想知道如何将其概括为n文件以FILES=file1 file2 file3 file4 file5.

目前,我可以看到两种解决方案:

1) 计算一个字符串和eval

2)如果数组不为空,则用f调用decrypt do的递归函数替换decrypt tee >(decrypt A[0]) | f ("${A[@]:1}")(它解密第一个元素并递归调用自身),如果数组不为空,则为空。

我想知道您是否有更好的方法来做到这一点(请注意,我不希望将密钥写入文件或变量,因此循环不是一种选择)。


编辑:我将在https://github.com/xavierm02/combine-keys 中使用它

shell pipe tee

4
推荐指数
1
解决办法
201
查看次数

“inotifywait”同时观察多个目录

我想触发一个操作,当在我指定的目录之一中创建一个新文件时。我想inotifywait用于这个目的。但问题是我不知道如何使用inotifywait同时观看多个目录。甚至递归地观察单个目录都不是问题,而是几个?是否可能,或者我必须inotifywait并行运行多个带有“ ”的进程?

linux inotify

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

比较两个文件并返回真或假值

我有两个文件,一列。
如果两个文件中的第一行相同,则打印 1,否则打印 0。

file1

M
A
A
M
Run Code Online (Sandbox Code Playgroud)

file2

M
M
A
A
Run Code Online (Sandbox Code Playgroud)

output

1
0
1
0
Run Code Online (Sandbox Code Playgroud)

任何人都可以向我展示一个可以做到这一点的 awk 脚本吗?

awk text-processing

4
推荐指数
1
解决办法
1948
查看次数

终结者不工作!

Terminator是我在debian 中选择的终端。我似乎在玩它的配置文件首选项时打破了它。

我无法像其他应用程序一样正常打开它。但是在成为 root 后,我可以通过gnome-terminal访问它。当它打开时,会弹出以下警告:

An error occurred while loading or saving configuration information for terminator. Some of your configuration settings may not work properly.

细节 :

No D-BUS daemon running

terminal debian gnome-terminator

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

将脚本变量重定向到日志文件而不会丢失 stderr

在 bash 脚本中设置“set -x”时,或者如果您使用 运行脚本bash -x,您将获得所有参数与标准输出一起打印到屏幕上。

是否可以将 stderr 和 stdout 打印到屏幕但将set -x输出重定向到日志文件而不将其打印到屏幕?

这个想法是将我可以在日志中获取的所有信息,但只将常规 stdout 和 stderr 打印到屏幕上。

logs io-redirection

4
推荐指数
1
解决办法
452
查看次数

为什么 root 的密码更改不需要旧密码

为什么root不用输入旧密码就可以修改can的密码?这有什么好处还是只是一个实现错误?如果我们passwd从普通用户帐户发出,它首先要求输入“(当前)Unix 密码:”,但在这种情况下,root它直接带我们到“输入新的 Unix 密码:”。我不明白这背后的逻辑。

security root passwd

4
推荐指数
1
解决办法
1845
查看次数

是否可以使用 sudo 权限杀死另一个用户的进程?

我在运行 Fedora 22 的家庭桌面上拥有 sudo 权限。我使用sudo useradd newuser和创建了一个新用户sudo passwd newuser。然后,我以新用户身份登录su newuser,然后使用 切换回我自己su dwayne

我尝试使用 r 删除新用户userdel -r mewuse,但收到一条消息

userdel: user newuser is currently used by process 6415
Run Code Online (Sandbox Code Playgroud)

ps: 6415 显示 newuser 在 bash shell 中,这是有意义的,因为我使用 newuser 作为 newuser 登录到 bash shell su newuser。这就是我的问题的来源,我尝试过,sudo kill 6415但它不起作用,也没有给我任何错误消息。如果没有错误,你会认为一切都按计划进行。我阅读了联机帮助页kill(2),但没有找到与使用sudo杀死进程相关的任何内容。是否可以杀死另一个用户进程,sudo或者我需要以 root 身份登录?

linux kill

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

使用 Diff 排除引号符号 - "

一个不正常的。简而言之,我有两个源文件夹。我想比较两者都有不同的代码集。但有一个符号会显示我想忽略的多个差异。

它位于单引号和双引号之间 ' - "

IE

$BlankValue="TEST";
$BLANKValue='TEST';
Run Code Online (Sandbox Code Playgroud)

无论如何,我是否可以使用 Diff 来忽略上述内容。

我将 Diff 与 Sed 一起使用,但是在执行表达式时我被卡住了。无法在单引号内使用双引号。我该如何解决这个问题。

diff

4
推荐指数
1
解决办法
1698
查看次数

确保不太清晰的屏幕

有没有办法确保less在退出时清除屏幕?的相反less -X

当我man在 iTerm2 中退出页面时,屏幕没有被清除,但是在使用默认的 mac 终端时屏幕被清除。有没有人有建议?

$LESS 被设定为 less -R

osx less man iterm

4
推荐指数
1
解决办法
157
查看次数

无法在 UBI8(Red Hat 通用基础映像)中安装 tcpdump 软件包

我正在构建一个基于 UBI8(Red Hat Universal Base Image)的 docker 镜像,Dockerfile 看起来像

FROM registry.access.redhat.com/ubi8/ubi-minimal

RUN microdnf install sudo zip tar bash procps openssl iptables net-tools tcpdump && microdnf update; microdnf clean all

ENTRYPOINT [ "/usr/sbin/tcpdump" ]
Run Code Online (Sandbox Code Playgroud)

但未能安装 tcpdump 包。

Downloading metadata...
error: No package matches 'tcpdump'

(process:57): librhsm-WARNING **: 22:03:51.398: Found 0 entitlement certificates

(process:57): librhsm-WARNING **: 22:03:51.400: Found 0 entitlement certificates

(process:57): libdnf-WARNING **: 22:03:51.400: Loading "/etc/dnf/dnf.conf": IniParser: Can't open file
Run Code Online (Sandbox Code Playgroud)

如何修复它以便在 UBI 中安装 tcpdump 包?谢谢。

rhel docker

4
推荐指数
1
解决办法
4458
查看次数