Articles of shell

在大文本文件中查找重复的logging

我在一台Linux机器上(Redhat),我有一个11GB的文本文件。 文本文件中的每行包含单个logging的数据,行的前n个字符包含logging的唯一标识符。 该文件包含超过2700万条logging。 我需要validation文件中没有多个具有相同唯一标识符的logging。 我还需要在一个80GB的文本文件上执行这个过程,所以任何需要将整个文件加载到内存中的解决scheme都是不实际的。

期待脚本中的sudo问题

我正在运行以下脚本 #!/usr/bin/expect -f set user [lindex $argv 0] set pass [lindex $argv 1] set PATH [lindex $argv 2] set INV_PATH [lindex $argv 3] spawn ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no $user@localhost expect "assword: " send "$pass\r" expect "$ " send "echo $pass | /usr/local/bin/sudo -S $INV_PATH/orainstRoot.sh\r" expect "$ " send "cd $PATH/bin\r" expect "$ " send […]

使用来自PHP / CGI不良做法的shell命令?

shell命令是否被认为是合法的编程接口? 特别是,从PHP页面或CGI文件在linux应用程序服务器上执行bash shell命令有什么问题吗? 这是否会引入效率或安全问题? 谢谢

Shell编程:同时执行两个应用程序

我有两个应用程序,让我们打电话给他们APP1和APP2。 我希望这两个在我的机器上并行执行。 他们没有必要在同一时间开始,但应该在大致相同的时间开始。 一个初步的想法是有一个shell脚本,如下所示: ./APP1& ./APP2 这是诀窍还是我需要插入一个等待语句,以确保在一定的时间框架内启动APP2? 谢谢

在Shell脚本中parsingDiff的结果

我想比较两个文件,看看他们是否相同或不在我的shell脚本,我的方式是: diff_output=`diff ${dest_file} ${source_file}` if [ some_other_condition -o ${diff_output} -o some_other_condition2 ] then …. fi 基本上,如果他们是相同的$ {diff_output}应该不包含任何内容,上面的testing将评估为true。 但是,当我运行我的脚本,它说 [: 争论太多 在if […]行上。 有任何想法吗?

Python脚本和linux shell之间的交互

我有一个Python脚本,需要通过命令行与用户进行交互,同时logging输出的内容。 我目前有这样的: # lots of code popen = subprocess.Popen( args, shell=True, stdin=sys.stdin, stdout=sys.stdout, stderr=sys.stdout, executable='/bin/bash') popen.communicate() # more code 这就像在terminal中inputshell命令一样执行shell命令(例如adduser newuser02),包括交互行为。 这很好。 现在,我想从Python脚本中logging出现在屏幕上的所有内容。 但我似乎无法使这部分工作。 我已经尝试了使用subprocess.PIPE的各种方法,但是这通常会使交互性紊乱,就像不输出提示string一样。 我也尝试过不同的方法来直接改变sys.stdout的行为,但是当subprocess直接写入sys.stdout.fileno()时,这一切都没有用。

shell脚本中的`set -o errtrace`会执行什么?

set -o errtrace shell脚本中的上述语句将执行什么? 特别是-o命令?

如何从目录中列出最近删除的文件?

我甚至不确定这是否容易,但我想列出最近从目录中删除的文件,如果可能的话recursion。 我正在寻找一种解决scheme,不需要创build包含原始目录结构的快照的临时文件,因为写入访问可能不总是可用的。 编辑:如果可以通过将快照存储在shellvariables而不是文件中来实现相同的结果,那将解决我的问题。 就像是: find /some/directory -type f -mmin -10 -deletedFilesOnly 编辑:操作系统:我使用的是Ubuntu 14.04 LTS,但是命令很可能运行在各种Linux机器或Docker容器中,其中大部分或全部应该使用ext4 ,而且我最有可能无法进行修改。

检查“make”的输出,如果失败则退出bash脚本

然而,我不仅仅是一场暴躁的比赛。 我已经写了一个bash脚本来执行我的cmake,make和c ++可执行文件。 #! /bin/bash cmake . make ./pcl_visualizer_demo <– This is my executable 这工作很好,除非我的代码编译失败,执行旧的可执行文件,并留下一团糟。 我希望把make的输出放到只有在make成功的时候运行可执行文件的if语句中。 我已经尝试了很多bash从其他post在这里stackoverflow的东西。 有些问题似乎是make的输出不是string,例如: OUTPUT = make echo $OUTPUT 得到: [100%] Built target pcl_visualizer_demo 但是不能与: if [`expr match "$OUTPUT" '[100%] -eq 5]; then ./pcl_visulizer_demo; fi 更何况我认为这条线可能有不止一个错误。 我也试过: if [diff <(echo "$OUTPUT") <(echo '[100%] Built target pcl_visualizer_demo' -n]; then ./pcl_visulizer_demo; fi 这又可能是我没有正确实施。 […]

在jenkinspipe道上运行bash命令

我想在jenkinspipe道中运行bash命令,而不是在groovy脚本中使用shell命令: 我已经尝试使用“#!/ bin / bash”: stage('Setting the variables values') { steps { sh ''' #!/bin/bash echo "hello world" ''' } } 也尝试使用“bash”而不是“sh” stage('Setting the variables values') { steps { bash ''' #!/bin/bash echo "hello world" ''' } } 显然,我的命令比'回声你好世界'复杂。