Articles of bash

从bashpipe理Linux中的进程/服务

我正在为大学做一个小型项目来比较3个不同的Linux发行版和它们的资源命中,以及它们如何处理过程。 我被build议主要使用bash而不是C ++或perl,因为教授认为这会降低资源的利用率。 我主要来自Java背景,当然熟悉线程。 我想知道的是,是否可以为进程分配一定的总内存,并为每个进程分配内存和优先级? 我想模拟内存不足的情况,并且在内存不足的情况下需要非紧急进程被终止或终止,并且将这一切作为我的bash对话框中的一个选项进行控制。 我知道这在Java中是完全可能的,因为我在几个月前使用生产者消费者示例做了一个项目。 Linux服务器可以这样做吗? 我没有使用GUI或桌面版本,因为项目禁止它。 我还想知道,如果我可以在同一时间进行一定的压力testing,比如说,比较压力testing和非压力testing结果。 在bash中是否也可以控制这个?

CORB作业:处理ServerConnectionException:由对等重置连接

我正在尝试执行CORB作业来处理我的文档。 但是在处理整个集合的一部分之后,抛出了下面的exception。 com.marklogic.xcc.exceptions.ServerConnectionException: Connection reset by peer [Session: user=<username>, cb={default} [ContentSource: <username>, cb={none} [provider: address=<xyz.com>/<IP>, pool=0/64]]] [Client: XCC/7.0-2, Server: XDBC/7.0-3.1] at com.marklogic.xcc.impl.handlers.AbstractRequestController.runRequest(AbstractRequestController.java:124) at com.marklogic.xcc.impl.SessionImpl.submitRequestInternal(SessionImpl.java:388) at com.marklogic.xcc.impl.SessionImpl.submitRequest(SessionImpl.java:371) at com.marklogic.developer.corb.Transform.call(Transform.java:68) at com.marklogic.developer.corb.Transform.call(Transform.java:1) at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) at java.util.concurrent.FutureTask.run(FutureTask.java:138) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441) at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) at java.util.concurrent.FutureTask.run(FutureTask.java:138) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) at java.lang.Thread.run(Thread.java:619) 我们尝试增加线程数和内存分配,但无济于事。 我的要求是双重的: 这可能是什么原因呢? 有没有办法解决这个问题? 如果没有,是否有办法在shell脚本中捕获这个exception,这是执行相同的?

Bash修改一个variables

我有一个命令,我正在执行,这个命令存储在一些variables,而这个variables,存储这个命令存储另一个variables事情是当我改变我的第二个variables,它不是dynamic地改变我的第一个variables,所以正在执行的命令总是使用相同的variables。 这是我的代码: test="test" TEMP_STR="doesn't exist" checkClient=`p4 client -o -t $test 2>&1` echo this is the output: "$checkClient" test="${test}_2" echo echo this is the new client name "$test" echo this is the new output: "$checkClient" 这是输出: this is the output: Client 'test' doesn't exist. echo this is the new client name test_2 this is the new […]

Bash脚本输出来restapi调用

我需要使用bash脚本来监视Linux服务器,所以场景就像这样 我有一个可以监视Linux服务的bash脚本,它显示的结果正确 现在我需要显示bash脚本的结果8080端口或任何端口像http://192.168.2.1:8080 ,它会显示状态代码200或错误,所以当我打到http://192.168.2.1:8080它将执行bash脚本并得到结果并显示它 注意:现在服务器上没有任何Web服务正在运行

即使循环指向输出文件,echo命令也会显示在屏幕上

我正在尝试获取每个单独的订单项的md5,并将每个md5转储到下一个文件(.md5)中的一行。 下面的脚本将所有内容回显到屏幕上。 如何将echo输出redirect到.md5文件。 more email/test | while read line; md5=`md5sum $line | awk '{ print $1 }'` do echo -n $md5; done < .md5

将HISTFILE设置为命名pipe道

我一直在寻找如何做到这一点,似乎有几次提到这个build议,我还没有find一个例子。 我尝试了以下内容: mkfifo /tmp/testpipe mknod /tmp/testpipe p 最后,我更新了我的〜/ .bashrc文件以包含以下内容:HISTFILE = / tmp / testpipe 我在网上发现一个脚本应该读取pipe道这个: #!/bin/bash pipe=/tmp/testpipe trap "rm -f $pipe" EXIT if [[ ! -p $pipe ]]; then mkfifo $pipe fi while true do if read line <$pipe; then if [[ "$line" == 'quit' ]]; then break fi echo $line fi done echo "Reader […]

在Bash,如何排版一个variables(数字)为5digit?

我该如何在bash中input一个variables,所以如果数字越小,它总是会填充零。 例如。 如果我将一个variables“a”设置为5位数并给出值78,那么输出应该是00078 有各种答案已经可用,告诉如何做,如使用 printf -va "%05d" 78; 但请注意,如果我们这样做,我们只改变一次输出。 例如。 printf -va "%05d" 78 echo $a a=32 echo $a; 输出: 00078 32在这里没有填充 在ksh中,有一个叫做typeset的选项,就像这样使用 typeset -Z5 gen=78; echo $gen; gen=32; echo $gen; 输出: 00072 00032 但是对于bash -Z,选项不可用于排版。 在论坛上,一个答案声称在bash中使用“声明”而不是“排版”,但是,即使在声明中,ksh的排版选项也是不可用的。 题 有没有任何可行的解决scheme,就像我设置variables的atttribute一次。 或者我需要每次tweek我的输出(如使用printf)。

断开连接时启动networking连接的脚本

这里是我运行的从Ubuntu Linux服务器连接到Windows共享文件夹的命令: sudo mount -t cifs //ipaddress/xml /var/www/dir/pub/xml -o user=username,password=password Windows服务器重新启动应用更新时,但我不知道什么时候重新启动,所以我想在我的Ubuntu Linux服务器上创build一个bash脚本来检测断开连接,并重新build立连接… 对于初学者我会去这个: #/bin/bash if[/var/www/dir/pub/xml/* == '']; then sudo mount -t cifs //ipaddress/xml /var/www/dir/pub/xml -o user=username,password=password fi 我会把这个添加到一个cron工作来安排它运行至less五分钟…我不是在bash脚本的专家,但我会感激有人指着我在正确的方向…谢谢。

使用date命令打印上个月的最后一个date

就像我们可以使用date命令在linux上打印最后一天和上个月一样,是否可以使用“date”打印上一个(年月)的最后一个(结束)date?

用于提取特定date日志的shell脚本

我必须从任何应用程序日志中提取特定date的日志。 我们通常做什么 vi app.log /date(search) 。=(finddate的位置) G(最后一行) first_line,Last_line w filname.log(用于生成具有特定date的日志文件) 我做了小脚本,但我认为我的逻辑是不正确的: #!/bin/bash read -p " enter the App name" : app read =p " enter the Date in this Format 10 Jan 20:01:00" : date FILE=/logs/$app.log # Check if $app exists or not if test ! -f "$app" /logs then echo "Error – $app not […]