Tag: Shell Script

Shell Script 限制执行时间

在撰写 Shell Script 时,有时会遇到需要限制程式执行时间的情况,例如防止程式无限执行或避免程式占用过多系统资源等。以下是一些常用方法可以帮助您限制 Shell Script 的执行时间。 1. 使用 timeout 命令 timeout 命令可以限制某个命令或脚本的执行时间,当时间到期时它会向该命令或脚本发送 SIGTERM 信号以终止其执行。例如: timeout 10s ./myscript.sh 这条命令将执行 myscrip.sh 脚本,并限制其执行时间为 10 秒。 2. 使用 ulimit 命令 ulimit 命令可以限制某个使用者对系统资源的使用,包括 …

Shell Script 建立临时档案

在写 Shell Script 时, 有时需要建立临时档案, 很多时会用 temp 或 tmp 这类副档名实现。但如果这些档案名称和其他 process 的临时档案名称相同, 便会错误地覆写其他临时档案的内容。 在 Linux 系统可以用 mktemp 工具, 它可以很简单地建立, 使用及移除不会重复档名的临时档案。 执行 mktemp 时, 它们默认会出档案名称及路径: $ mktemp /tmp/tmp.94uGx1HYiS 如果没有指定路径, 临时档案的的位置是 …

VIM 使用自动缩排下贴上程式码

在 VIM 写程式时, 很多时会设定使用自动缩排, 即用 audoindent 或 smartindent, 这样只是写程式没问题, 但如果要复制并贴上一些程式码, 这会重复缩排。 要解决这个问题, 可以在用 vim 时, 输入以下指令: 完成贴上后, 要回复原来的自动缩排, 便再次输入以下指令: 如果默认值是会自动缩排, 那便关闭档案后, 会自动开启缩排。 但要输入上面的指令也很麻烦, 所以在 .vimrc 档案设定, 用 F3 键进行切换, …

Python 读取 Pipe 输入

在 Unix Like 环境下的 Pipe (管线) 十分重要, 它可以将一个程式的输出, 送给另一个程式处理, 只要中间用 “|” 字符相隔, 让几个不同的程式互相配合工作, 以下本章会介绍在 Python 读取 Pipe 输入的方法. 在 Python 要读取 Pipe 输入, 可以用 sys 模组的 sys.stdin, 它会读取 /dev/stdin …

Shell Script 将指令输出储存到变量

在 Shell Script 要将执行指令的输出储存到变量, 而不是直接输出结果, 可以用以下两种写法: 或 要留意的是, 跟 PHP 或 Python 等不同, 在等号 (=) 前后不可以加入空间。 例如要将日期储存到变量 today, 可以用以下写法: 或 将变量内容输出跟其他变量一样, 可以用 echo 或 printf: 以上是在 Shell Script 把指令输出储存到变量, …

Shell Script 加入今天的日期

在写程式时很多时也需要使用今天的日期, 例如在建立档案或目录名称时, 会加入日期以作识别。 Linux 的 date 指令可以输出日期, 如果只要单纯地输出日期, 可以这样写: 以上指令会用以下格式输出今天日期: Today is Tue Dec 10 08:21:01 HKT 2019 如果想要建立一个目录, 在后面加入今天日期以作识别, 例如建立像这样的目录 /backup/files-20191210/, 可以用以下写法”

Shell Script 自动检查硬盘使用量

Linux 下要用 Shell Script 自动检查硬盘分割区的使用量, 可以透过 df 指令实现。 df 指令可以在 Linux 下检视硬盘分割区使用量, 配合 grep 及 awk 撷取所需的资讯, 便可以用 Shell Script 自动检查硬盘使用量, 当发现使用量超过设定的百分比 (例如 80%) 时, 再用 mail 指令发出电子邮件通知系统管理员。 执行 …