Tag: Shell Script
在 Shell Script 要将用户的输入的英文字母转换大小写,或者要将档案内文字的英文字母转换大小写,可以透过 tr 指令实现。 先看看 tr 指令的使用方法, 转换档案内所有大写字母到小写: $ tr ‘’ ‘’ < input.txt > output.txt 以上指令会将 input.txt 的档案内容,全部大写字母转换为小写,然后将结果汇入到 output.txt 档案。 要将小写转换到大写字母,只要将 upper 及 lower 倒转即可: $ …
如果要在 Linux 下将现有的档案, 删除里面的所有空白行, 可以用 Linux 内建的工具即可实现。 sed 指令 用 sed 指令即可删除档案内的空白行: $ sed -i ‘/^$/d’ input.txt 如果想将删除空白行后的内容, 汇入到新档案, 要改成这样: $ sed ‘/^$/d’ input.txt > output.txt 有些空白行会包含一些空白字符, 例如 SPACE …
写程式时经常需要截取字串中的一小部份, 很多程式语言都有类似 substr 等函式。在 Shell Script 虽然没有 substr() 或 substring() 的函式, 但要实现也很方便, 以下会介绍两种 Shell Script 下截取部份字串的方法。 ${string:S:N} 写法 在 Shell Script 抽取字串, 最简单的方法是这样: 上面 Shell Script 执行结果是 s is …
在写 Shell Script 时,有时需要取得路径的目录或档案名称,这时可以借助 dirname 及 basename,例如:
如果在执行 Shell Script 时预到 bad interpreter: No such file or directory 报错, 原因是 Shell Script 第一行指定的 interpreter 路径错误, 系统找不到 interpreter 所致。 解决方法是检查 Shell Script 第一行的 interpreter, 设定回正确路径, 一般是 /bin/sh …
当 Shell Script 执行时, 会有一个 Process ID (PID) 及 UID, 有时在 Shell Script 里面需要取得这两个数值, 例如想建立一个独一无二的临时档案。 Bash 将 PID 存放到变量 “$$”, 而这个变量是唯读, 不可以在 Shell Script 里面修改数值。实际用法如下: 以上 Shell Script 会印出 …
一年里面 12 个月份的日数也不一样, 而且还有润年的问题。在 Shell Script 里面如果要取得每个月份的日数, 可以这样写: 执行结果是: Jan – 31 days Feb – 28 days Mar – 31 days Apr – 30 days May – 31 days …
在 UNIX Like 环境下输入指令时, 可以按照不同的用法输入不同的参数, 以下是在 Shell Script 读取输入的参数的写法。 Shell Script 使用输入的参数, 其实只要调用以数字名命的变量, 如 $1, $2, $3 …… 例如执行以下指令: ./shell_test.sh var1 var2 var3 上面执行 Shell Scrpt -> shell_test.sh, 并输入 …
很多时写 Shell Script 都需要使用者确认动作, 然后询问 yes 或者 no, Shell Script 里面可以这样写: Bash 3.2 或以上版本可以这样写: Bash 4.x 这样写:
如果忘记了替 Domain Name 续期的话, 被 Domain Registrar 停掉 Domain, 网站及电邮服务会暂停, 甚至失去网域的使用权。当持有网域的数量较多, 难免会忘记, 以下是介绍用 Shell Script 自动检查网域的到期日及注册机构, 并自动传送续期通知都电邮。 这个 Shell Script 使用 whois 检查网域资料, 及 mail 传送电邮, 先安装这两个小工具: RHEL / …