我想每 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) 我想找到目录中图像文件的数量。我最终使用了这个:
find . -type f -exec file {} \; | grep -c -i 'image'
Run Code Online (Sandbox Code Playgroud)
这感觉像是一种低效的方法。我可以想到另一种方法 - 使用 OR 语句,但我无法从手册页中弄清楚如何做到这一点。
任何想法如何更有效地完成这项工作?我不想在包含大量文件的目录上执行上述命令并让它永远执行。
我想安排一个任务在特定月份的一周中的指定日期之前运行几秒、几分钟、几小时、几天或几周。例如:
我很乐意设置 cron/at 在指定的日期运行作业,并意识到如果我想按这些类型的时间表运行,我可能不得不与 cron 一起运行脚本。
有没有人有我如何去做的例子?
如何在不创建文件的情况下执行 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'
哪个不起作用。有任何想法吗?
我有一个 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?
我想做ls | grep something和cd列出的一件事。我尝试|和搜索,但没有找到。它在使用xargs吗?
假设我们在 Linux shell 中在一行上运行两个程序,如下所示:
who -r; date
Run Code Online (Sandbox Code Playgroud)
我应该添加什么以获得一行输出?
有一个脚本调用其他脚本,它们调用其他脚本...我不知道究竟调用了哪些脚本以及调用了多少个脚本。我只知道其中一些正在添加 iptables 规则,当我调用根脚本时出现此错误。
iptables: No chain/target/match by that name.
iptables: No chain/target/match by that name.
Run Code Online (Sandbox Code Playgroud)
我的问题是我找不到哪个脚本输出这个错误。有什么方法或工具可以学习吗?
请建议 - 我的语法有什么问题?(不应该打印“坏界面”)
备注 - 我使用 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) 我在 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)