Articles of bash

用bash脚本更新CRON

任何人都可以看到我的语法错误吗? 尝试编辑/更新cron作业,但该文件未被更新。 crontab -l | sed 's%*/5 * * * * cd /home/administrator/anm-1.5.0 && ./anm.sh%*/10 * * * * cd /home/administrator/anm-1.5.0 && ./anm.sh%' | crontab – *更新* 所以我仍然有这个麻烦。 最终我试图从一个configuration文件$ FREQ(分钟)来运行这个工作。 该脚本将首先检查configuration中的值是否与当前在crontab中的值不同。 如果值不同,它将用新值更新crontab。 crontab(初始安装和更新)也从variables中提取运行目录和脚本名称。 例: DIR=`pwd` SCRIPT=`basename $0` CRONTMP=`crontab -l | grep anm.sh` crontab -l | sed 's%'$CTMP'%*/'$FREQ' * * * * cd '$DIR' && ./'$SCRIPT'%' […]

如何在bash中sorting多行?

我正在尝试sorting的名称后面跟另一个string,如: John Doe AVAIL Sara Doe CALL Jim Doe AVAIL 我试图按名称sorting,但似乎无法弄清楚。 有人可以提供一些指导? 我的最终输出将如下所示: Jim Doe AVAIL John Doe AVAIL Sara Doe CALL 非常感激!

从ping -c提取平均时间

我想从命令中提取ping -c 4 www.stackoverflow.com | tail -1| awk '{print $4}' ping -c 4 www.stackoverflow.com | tail -1| awk '{print $4}' ping -c 4 www.stackoverflow.com | tail -1| awk '{print $4}'的平均时间。 107.921/108.929/110.394/0.905 ms 产量应该是: 108.929

我如何执行一个任意的脚本与其目录中的工作目录?

我需要从bash执行一个groovy脚本文件,我需要脚本有一个它所在的目录的工作目录。 也就是说,在我的bash脚本中,我正在这样做: /opt/script/myscript.groovy & 但是,这似乎将工作目录设置为/etc/init.d ,我从调用的目录。 如何将该脚本的工作目录更改为/opt/script ?

Bash脚本只运行一次

我想做一个sh脚本,在任何时候最多只能运行一次。 说如果我执行脚本,然后我再次执行脚本,我怎么做,如果脚本的第一个exec仍然工作,第二个将失败,一个错误。 也就是说,我需要检查脚本是否在执行任何操作之前在其他地方运行。 我将如何去做这个? 我的脚本运行了一个长时间的运行过程(即永远运行),我想用cron这样的东西每15分钟调用一次脚本,以防万一进程失败,它将被下一个cron脚本重新启动。 干杯。

打印STDOUT / STDERR并将它们写入Bash中的文件?

有没有办法让Bash将STDOUT / STDERRredirect到一个文件,但仍然打印到terminal?

如何删除特定字符后的string中的所有内容?

例: before: text_before_specific_character(specific_character)text_to_be_deleted after: text_before_specific_character 我知道这可以用'sed'来完成。 但我卡住了。 有人可以帮我吗?

将正斜杠replace为用双引号括起来的双反斜杠

我拼命试图用双引号( "\\" )括起来的双反斜杠replace正斜杠( / ) 但 a=`echo "$var" | sed 's/^\///' | sed 's/\//\"\\\\\"/g'` 不工作,我不知道为什么。 它总是用一个反斜杠代替,而不是两个

如何让bashdate脚本返回相对于非当前时间的星期几?

使用bashdate,我可以得到它返回相对于当前时间一周的一天。 date –d='last Sunday' #Returns date of the Sunday before today 我也可以得到它相对于其他date返回一天 date –d='02/1/2012 -2 days' #Returns date two days before Feb. 1, 2012 但我怎么能得到它相对于一些非当前时间返回星期几? 我想要做的是: date –d='Sunday before 02/1/2012' #Doesn't work! I want Sunday before Feb. 1 如果可能的话,我甚至希望能够链接string,以便可以引用新date的相对date: # Should return 2 days before the Sunday before Feb. 1, 2012 date –d='Sunday before 02/1/2012 […]

将string拆分成bash中的数组

我正在寻找一种方法来在bash中分隔string中的string,并将这些部分放在一个数组中。 简单案例: #!/bin/bash b="aaaaa/bbbbb/ddd/ffffff" echo "simple string: $b" IFS='/' b_split=($b) echo ; echo "split" for i in ${b_split[@]} do echo "—— new part ——" echo "$i" done 给出输出 simple string: aaaaa/bbbbb/ddd/ffffff split —— new part —— aaaaa —— new part —— bbbbb —— new part —— ddd —— new part —— ffffff 更复杂的情况: #!/bin/bash c=$(echo […]