Articles of bash

Linux:终止一系列进程的最可靠的方法

如果我们假设:在Linux中终止一系列进程的最好方法是什么: 在我们开始清理之前,家庭中的任意进程可能会被杀死/终止; 结果,如果subprocess没有终止,他们的PPID将是1 进程可以更改进程组 我正在看的特定场景是Bash,但更一般的技术,更好。

为什么我的bash脚本在空的空间上打破?

我有一个shell脚本,正在打破虚拟主机和*之间的第42行的空间。 结果,唯一的东西是echo'd到控制台 <VirtualHost 我想要发生的是我的整个string被回显到控制台。 <VirtualHost *:80> DocumentRoot /Applications/MAMP/htdocs/web ServerName web.localhost <Directory /Applications/MAMP/htdocs/web> Options Indexes FollowSymLinks MultiViews +Includes AllowOverride All Order allow,deny allow from all </Directory> </VirtualHost> 这里是我的脚本供参考: #!/bin/bash # This script should be used to automate the web site installation checkFileForString () { # $1 = file # $2 = regex # $3 = text […]

在Bash中parsingSNMP输出

我需要处理以下命令的文本输出: snmpwalk -v2c -c community 192.168.122.15 .1.3.6.1.4.1.14823.2.2.1.4.1.2.1.39 原始输出是: SNMPv2-SMI::enterprises.14823.2.2.1.4.1.2.1.39.252.200.151.233.54.69.197.39.5.77 = STRING: "Android" 我需要输出看起来像 197.39.5.77="Android" 197.39.5.77是=符号前的最后四位数字。

Bash IP IF THEN ELSE声明

我需要从几台机器上运行一个脚本,但是每台机器都需要执行独特的命令。 我以为bash脚本能够做到这一点,但是我对这个部门不太了解。 我需要的代码看起来类似于下面的代码(或将它)。 我知道,这是远远不够完美或function,但它真的只是有助于expression我在找什么。 有人可以帮我用这个脚本? #/bin/bash IP= ifconfig eth0 | grep inet | grep -v inet6 | cut -c 7-17 If [$IP -eq 192.168.32.1] then mkdir IPFolder-1 more code… else if [$IP -eq 192.168.32.2] then mkdir IPFolder-2 more code… else if [$IP -eq 192.168.32.5] then mkdir IPFolder-5 more code…

脚本内ps aux和`ps aux`之间的不同结果

我有一个bash脚本( ScreamDaemon.sh ),其中的一个检查,它没有运行的例子已经被添加。 numscr=`ps aux | grep ScreamDaemon.sh | wc -l`; if [ "${numscr}" -gt "2" ]; then echo "an instance of ScreamDaemon still running"; exit 0; fi 通常情况下,如果没有其他脚本运行, ps aux | grep ScreamDaemon.sh | wc -l应该返回2 (它应该find自己和grep ScreamDaemon.sh ),但是它返回3 。 所以,我试图分析发生了什么,并添加一些回声看到这个: 我已经添加到脚本中的行 ps aux | grep ScreamDaemon.sh ps aux | grep ScreamDaemon.sh | wc […]

Sed来遍历文件并replace占位符variables

我希望使用bash来遍历一个文件,并将所有的占位符varialbes变成真正的variables: $ PLACEHOLDER_USER – > $ USER $ PLACEHOLDER_STATE – > $ STATE 它需要与任何以占位符开始的variables一起工作,并把它变成它的实际variables。 这是迄今为止的代码: $FILE="/mytest.conf" sed -i "s/$var1/$var2/g" "$FILE" 不过,我不知道如何让它遍历整个文件,我不知道如何使任何variables以$ PLACEHOLDER_开头 任何帮助,将不胜感激。

如何读取csv文件到bash脚本中的数组

我写了下面的代码来读取我的csv文件(它有固定数量的列,但不是固定的行数)到我的脚本作为一个数组。 我需要它是一个shell脚本。 usernames x1 x2 x3 x4 username1, 5 5 4 2 username2, 6 3 2 0 username3, 8 4 9 3 我的代码 #!/bin/bash set oldIFS = $IFS set IFS=, read -a line < something.csv 我用过的另一个选项是 #!/bin/bash while IFS=$'\t' reaad -r -a line do echo $line done < something.csv 对于这两个我试过一些testing代码,看看arrays的大小将是什么,我似乎得到了第一个10的大小,但arrays只输出用户名。 对于第二个,我似乎得到0的大小,但数组输出整个csv。 帮助非常感谢!

在ShellScript中,基于Curl输出分配variables

我试图编写一个shellcript,将分配一个variables来curl输出。 当我从命令行运行这个curl命令的输出是这样的: $curl "test.test.com/landing/505978290?c=Area%20Rug" www.test.com/test/test?test=test 去这个url应该只是输出一个文本文件与另一个url。 我想testing这第二个url是它应该是的url。 url = $(curl "test.test.com/landing/505978290?c=Area%20Rug") if [$url -gt "www.tazinga.com/landing/505978290?c=area%20rug&si=gw&alt_css=silver&sv=34&"] echo ""test.test.com/landing/505978290?c=Area%20Rug did not redirect properly" else echo "Right URL" fi 但是,当我运行的shellcript我得到这个输出: % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 75 0 75 0 0 997 0 –:–:– –:–:– […]

使用随机在bash中生成一个随机string

我正在尝试使用bash函数RANDOM创build一个随机string,该string由包含整数和字母数字数字的variables(例如:var =“abcd1234ABCD”)中的8个字符组成 谢谢。

无法只用Linux date命令设置一年

出于某种原因,我只能使用date命令更新一年 date Tue Mar 4 20:15:42 IST 2014 date '+%Y' -s '2013' date Tue Mar 4 20:13:01 IST 2014 我在RedHat和Ubuntu上都试过 NTP没有运行…