Linux 命令行——shell 脚本

shell 脚本

      • 1. shell 脚本

本文摘录自 Linux 命令行
因为Linux 开源,我们能看到很多 bin 目录下的运行脚本,但是有很多是似懂非懂的,其实 shell 脚本不难,以下是一个基础

1. shell 脚本

我们创建了一个脚本,要把它放到一个 bin 目录下(这个 bin 目录已经在你的配置文件中配置过路径即PATH,这样就可以直接启动这个 bin 下的脚本),然后将创建的脚本赋予可执行的权限,如 755。如下是我们创建的 sys_info_page 文件:

#!/bin/bash
# Program to output a system information page
TITLE="System Information Report For $HOSTNAME" # 将 title 定义为常量,$XX 就会自动去取这个常量
CURRENT_TIME=$(date +"%x %r %Z") 								# 通过括号,可以将常量区分开
TIME_STAMP="Generated $CURRENT_TIME, by $USER"

# 下面定义了三个函数,
 标签是为了让命令中的内容保持之前的输出格式。
report_uptime (){
       cat <<- _EOF_
       

System Uptime

$(uptime)
_EOF_ return } report_disk_space (){ cat <<- _EOF_

Sytem Disk Space Utilization

$(df -h)
# df -h 用来确定磁盘空间的数量 _EOF_ return } # report_home_space (){ # cat <<- _EOF_ #

System Home Space Utilization

#
$(du -sh /Users/chappyzhao/*)
# 使用 du 的 -sh 命令,但是一般没有root权限的话会不能成功 # _EOF_ # return } report_home_space (){ if [[ $(id -u) -eq 0 ]]; then # [expression] 是一种测试表达式,我们这里使用了整型表达式,如果是字符型的话,会将 shell 命令引起来,像这样:if[ -e "$USER"];then...fi,这里的引号我们知道是可有可无的,这是为了防止获取到空值报错 cat <<- _EOF_

System Home Space Utilization

$(du -sh /Users/chappyzhao/*)
_EOF_ else cat <<- _EOF_

Home Space Utilization ($USER)

$(du -sh $HOME)
_EOF_ fi return } # 下面的整个模式是:命令 << token字符串 文本 token字符串。在这种文本中,但双引号都会是普通字符,可以随意加 cat << _EOF_ <span class="token variable">$TITLE</span>

$TITLE

$TIME_STAMP

_EOF_

在退出编辑器后,需要将修改的文本复制到 html 页面以显示

sys_info_page > sys_info_page.html

再次感谢作者的开源精神:这里是电子版

你可能感兴趣的:(linux,linux,bash,运维)