Linux 命令行——shell 脚本

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"

# 下面定义了三个函数,<PRE> 标签是为了让命令中的内容保持之前的输出格式。
report_uptime (){
       cat <<- _EOF_
       <H2>System Uptime</H2>
       <PRE>$(uptime)</PRE>
       _EOF_
       return
}
report_disk_space (){
       cat <<- _EOF_
       <H2>Sytem Disk Space Utilization</H2>
       <PRE>$(df -h)</PRE>											# df -h 用来确定磁盘空间的数量
       _EOF_
       return
}
# report_home_space (){
#        cat <<- _EOF_
#        <H2>System Home Space Utilization</H2>
#        <PRE>$(du -sh /Users/chappyzhao/*)</PRE> # 使用 du 的 -sh 命令,但是一般没有root权限的话会不能成功
#       _EOF_
#        return
}
report_home_space (){
       if [[ $(id -u) -eq 0 ]]; then # [expression] 是一种测试表达式,我们这里使用了整型表达式,如果是字符型的话,会将 shell 命令引起来,像这样:if[ -e "$USER"];then...fi,这里的引号我们知道是可有可无的,这是为了防止获取到空值报错
               cat <<- _EOF_
               <H2>System Home Space Utilization</H2>
               <PRE>$(du -sh /Users/chappyzhao/*)</PRE>
       _EOF_

       else
               cat <<- _EOF_
               <H2>Home Space Utilization ($USER)</H2>
               <PRE>$(du -sh $HOME)</PRE>
       _EOF_
       fi
       return
}

# 下面的整个模式是:命令 << token字符串 文本 token字符串。在这种文本中,但双引号都会是普通字符,可以随意加
cat << _EOF_	
<HTML>
       <HEAD>
               <TITLE>$TITLE</TITLE>
       </HEAD>
       <BODY>
               <H1>$TITLE</H1>
               <P>$TIME_STAMP</P>
       </BODY>
</HTML>

_EOF_

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

sys_info_page > sys_info_page.html

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

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值