标签: scripting

如何进行 N 向差异?

如何区分多个命令的输出?vimdiff最多可以支持四个文件,但diff它本身似乎正好支持两个文件。

是否可以直接diff使用 .


语境:

我必须在多台服务器上检查某个命令的输出,看看它们是否都同意。目前,仅报告是否发现任何差异似乎很好,但如果可能的话,我想能够说:X% 服务器彼此同意,Y% 彼此同意;或者那个服务器 Z 是奇怪的。

我有一个四路多主 LDAP 设置,我想验证ContextCSN所有四个的值是否一致。

所以现在我这样做:

#! /bin/bash

for i in {1..4}.ldap 
do 
    ldapsearch -x -LLL -H ldap://$i -s base -b dc=example,dc=com contextCSN > $i.csn; 
done
set -e 
for i in {2..4}
do
    diff -q 1.csn $i.csn
done
Run Code Online (Sandbox Code Playgroud)

并检查脚本的错误代码。有没有更好的工具?

欢迎任何可以在 Ubuntu 14.04 上使用的工具。

scripting diff

15
推荐指数
3
解决办法
3949
查看次数

有没有办法通过 bash 激活特定的 chrome 标签?

例如,假设我有一个 chrome 窗口处于活动状态,gmail 在其选项卡之间的某处打开(但不一定是活动选项卡)。

问题:有没有办法从命令行激活gmail 选项卡

scripting chrome

15
推荐指数
2
解决办法
6308
查看次数

使用 /etc/resolv.conf.d 来影响 /etc/resolv.conf 中的更改的“正确方法”是什么?

我过去resolv.conf是静态的,你自己编辑它。

稍后,DHCP 客户端将使用一些静态条目和它从 DHCP 租约中获得的内容重写它。

现在,一些发行版——比如我的(Linux Mint 18.1)有一个/etc/resolv.conf.d包含几个脚本子目录的机制,而且,我无法理解它。

那么正确的做法是什么

  • 表明我想使用还是不使用在 DHCP 租约中获得的 DNS 服务器?
  • 将固定条目添加到 resolv.conf,总是或作为后备,当没有获得 DHCP 租用的名称服务器时?
  • 决定文件中的相对顺序?

如果我有的话,我不介意自己写一些脚本,我只是不想“反对”现有机制或做重复的工作。

networking scripting dns linux-mint resolv.conf

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

从脚本语言调用 Linux 系统调用

我想直接从脚本语言调用 Linux 系统调用(或至少是 libc 包装器)。我不在乎什么脚本语言 - 重要的是它不被编译(原因基本上与不想要依赖路径中的编译器有关,但这既不存在也不存在)。是否有任何脚本语言(shell、Python、Ruby 等)允许这样做?

特别是,它是getrandom系统调用。

linux scripting syscalls

15
推荐指数
3
解决办法
2794
查看次数

对目录树中的每个文件运行命令的最佳方法

似乎有很多方法可以做到这一点,包括 shell 脚本中的循环、find 和 xargs。其中哪个最好,哪个最便携?

command-line scripting directory find

14
推荐指数
2
解决办法
8917
查看次数

如何执行仅创建已更改文件备份的 sed 就地替换?

我运行以下命令来替换当前工作目录中所有文件中使用的术语:

$ find . -type f -print0 | xargs -0 sed -i'.bup' -e's/Ms. Johnson/Mrs. Melbin/g'
Run Code Online (Sandbox Code Playgroud)

这执行了单词替换,但它也创建.bup了从未有Ms. Johnson字符串的文件的文件。

如何在不创建所有这些不必要的备份的情况下执行替换?

linux scripting sed shell-script

14
推荐指数
3
解决办法
5709
查看次数

指定运行脚本的快捷键

我写了一个脚本来改变我的屏幕亮度。

当我在文本模式下工作并且我的键盘快捷键无法更改亮度时,它很有用。

是否可以运行此脚本,只需按键盘上的某些键作为快捷方式,例如Ctrl+ Alt+ F7

scripting keyboard-shortcuts keyboard shell-script

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

bash 脚本中的命令和终端中的命令之间的区别

您在终端中键入的命令与包含在脚本中的命令之间有什么区别吗?

linux scripting terminal command

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

如何从半随机字符串中提取/解析完整的 URL?

我想让 bash 从一个随机的短字符串中解析/提取一个完整的 URL(并且只有 url)。

例子:

bob, the address is http://www.google.com
Run Code Online (Sandbox Code Playgroud)

或者

https://foo.com/category/example.html is up
Run Code Online (Sandbox Code Playgroud)

或者

Error 123 occurred at http://bit.ly/~1223456677878
Run Code Online (Sandbox Code Playgroud)

或者

Stats are up: https://foo1234.net/report.jpg
Run Code Online (Sandbox Code Playgroud)

我尝试使用,cat foo_output | egrep -o "https?://[\w'-\.]*\s"但这似乎不起作用。

scripting bash regular-expression

14
推荐指数
2
解决办法
3万
查看次数

Shell 脚本等待后台命令

我正在写一个脚本,但我需要一些东西,但我找不到方法来做到这一点......

我需要在后台“command1 &”中创建一个命令,然后在脚本中的某个地方我需要等待它完成,然后再执行 command2。基本上,我需要这个:

注意:每个命令都在特定目录中运行!在 while 循环结束时,我的 command1 创建了 4 个目录,其中每个目录运行特定进程,因此运行的进程总数为 4

a=1

while [$a -lt 4 ]

     . command1
   #Generates 1 Process  

     a= `export $a +1`
done

   #Wait until the 4 process end and then run the command2 

    . command2
Run Code Online (Sandbox Code Playgroud)

我已经看到有关wait带有 pid 进程号的命令的内容,但这也不起作用。

shell scripting background-process

14
推荐指数
2
解决办法
7万
查看次数