标签: bash

bash + 在 bash 中每 10 分钟打印一次

我想每 10 分钟通过 echo 打印以下“仍在进行中,再等 10 分钟”

请建议在 echo 命令之前需要添加什么条件才能每 10 分钟打印一次此行?

备注 - 计数器每个周期(1 秒)增加一,我不想在这个脚本中添加额外的延迟(睡眠命令)!!!!!!

 Until   [    ]
 do
 Counter=1

 sleep 1

  let counter=$counter+1

  [ .... ] &&  echo " still in process wait another 10 min …."

 done 
Run Code Online (Sandbox Code Playgroud)

linux bash perl shell-scripting

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

查找目录中的图像数

我想找到目录中图像文件的数量。我最终使用了这个:

find . -type f  -exec file {} \; | grep -c -i 'image'
Run Code Online (Sandbox Code Playgroud)

这感觉像是一种低效的方法。我可以想到另一种方法 - 使用 OR 语句,但我无法从手册页中弄清楚如何做到这一点。

任何想法如何更有效地完成这项工作?我不想在包含大量文件的目录上执行上述命令并让它永远执行。

linux bash find

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

使用 cron 和脚本,我如何才能在每个月的最后一个星期二前 11 天的上午 10 点触发某些内容?

我想安排一个任务在特定月份的一周中的指定日期之前运行几秒、几分钟、几小时、几天或几周。例如:

  • 每月最后一个星期二前 7 天的早上 8 点
  • 每月第二个星期六前 11 天的上午 10 点
  • 每月最后一个星期五前 3 天下午 6 点

我很乐意设置 cron/at 在指定的日期运行作业,并意识到如果我想按这些类型的时间表运行,我可能不得不与 cron 一起运行脚本。

有没有人有我如何去做的例子?

linux bash scheduled-task cron

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

如何在不创建文件的情况下执行 shell 脚本

如何在不创建文件的情况下执行 shell 脚本?例如,假设我有以下脚本 ( testscript):

#!/bin/bash
function run_free() {
   free -m
}

run_free
Run Code Online (Sandbox Code Playgroud)

然后我当然可以执行此操作: sh testscript

不过,我想避免创建文件。我试过:

sh echo '#!/bin/bash function run_free() { free -m } run_free'

哪个不起作用。有任何想法吗?

shell bash sh shell-scripting

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

如何在 CentOS 5.5 上将 bash 升级到 >= 4.1?

我有一个 CentOS 5.5 VPS 服务器。

我想使用RVM

根据我运行 RVM 安装程序时的控制台输出,RVM 需要 bash >= 4.1。

我刚跑yum update。我的 bash 版本现在是 3.2.25。

如果我了解 yum 的工作原理,那就意味着 3.2.25 是某种“属于”我的 CentOS 版本的 bash 版本,它是我可以使用 yum 获得的最新版本。(对吗?还是我错了?)

我怎样才能在我的 CentOS 5.5 系统上获得它?

澄清一下,我知道我可以只下载源代码并安装,但我对摆脱 yum 的版本管理系统犹豫不决。有没有办法在不中断 yum 的情况下升级 bash?

bash centos yum

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

如何将 ls 重定向到 cd 命令

我想做ls | grep somethingcd列出的一件事。我尝试|和搜索,但没有找到。它在使用xargs吗?

bash ls

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

如何将输出重定向到 Bash 中的一行?

假设我们在 Linux shell 中在一行上运行两个程序,如下所示:

who -r; date
Run Code Online (Sandbox Code Playgroud)

我应该添加什么以获得一行输出?

scripting bash

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

我能找到哪个脚本输出哪个错误吗?

有一个脚本调用其他脚本,它们调用其他脚本...我不知道究竟调用了哪些脚本以及调用了多少个脚本。我只知道其中一些正在添加 iptables 规则,当我调用根脚本时出现此错误。

iptables: No chain/target/match by that name.
iptables: No chain/target/match by that name.
Run Code Online (Sandbox Code Playgroud)

我的问题是我找不到哪个脚本输出这个错误。有什么方法或工具可以学习吗?

scripting linux bash

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

bash + 如何匹配包含字符和数字的字符串

请建议 - 我的语法有什么问题?(不应该打印“坏界面”)

备注 - 我使用 bash shell

ETH_NAME=eth0         ( or any other as eth1 or eth2 .... )
echo $ETH_NAME

eth0 



[ $ETH_NAME  != eth[0-9] ] && echo bad interface
Run Code Online (Sandbox Code Playgroud)

bash shell-scripting

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

命令不会在 crontab 中执行,而命令本身工作正常

我在 Github 上有来自 Colin Johnson 的这个脚本 - https://github.com/colinbjohnson/aws-missing-tools/tree/master/ec2-automate-backup

看起来很棒。我已将其修改为在每次创建或删除 EBS 快照时向自己发送电子邮件。以下工作就像一个魅力

ec2-automate-backup.sh -v "vol-myvolumeid" -k 3

但是,它根本不作为我的 crontab 的一部分执行(我没有收到任何电子邮件)

#一些被注释掉的命令

*/5 * * * * ec2-automate-backup.sh -v "vol-fb2fbcdf" -k 3;

* * * * * 日期>> /root/logs/crontab.log;

*/5 * * * * 日期 >> /root/logs/crontab2.log

请注意,第二个和第三个执行得很好,因为我可以在日志文件中看到日期和时间。

我在这里错过了什么?

完整的 ec2-automate-backup.sh 如下:

#!/bin/bash -
# Author: Colin Johnson / colin@cloudavail.com
# Date: 2012-09-24
# Version 0.1
# License Type: GNU GENERAL PUBLIC LICENSE, Version 3
#
#confirms that executables required for succesful …
Run Code Online (Sandbox Code Playgroud)

bash cron amazon-ec2 amazon-ebs shell-scripting

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

标签 统计

bash ×10

linux ×4

shell-scripting ×4

cron ×2

scripting ×2

amazon-ebs ×1

amazon-ec2 ×1

centos ×1

find ×1

ls ×1

perl ×1

scheduled-task ×1

sh ×1

shell ×1

yum ×1