Shel脚本-初步入门之《02 什么是 Shell 脚本》

Posted wjclinux

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Shel脚本-初步入门之《02 什么是 Shell 脚本》相关的知识,希望对你有一定的参考价值。

Shel脚本-初步入门-什么是 Shell 脚本

2、什么是 Shell脚本

当命令或程序语句不在命令行下执行,而是通过一个程序文件来执行时,改程序就被称为 Shell 脚本。如果在 Shell 脚本里内置了很多条命令、语句及循环控制,然后将这些命令一次性执行完毕,这种通过文件执行脚本的方式称为非交互式的方式。这些命令变量流程控制语句等有机地结合起来,就形成了一个功能强大的 Shell 脚本。

范例1: 清除 /var/logmessages 日志文件的简单命令脚本

把所有命令放在一个文件里,堆积起来后就形成了脚本,如下所示:(必须是 root 身份来运行这个脚本)

# 清除日志脚本,版本 1
cd /var/log
cat /dev/null >messages
echo "Logs cleaned up."

这个脚本其实是有一些问题的,具体如下:

  • 1)如果不是 root 用户,则无法执行脚本清理日志,并且会提示系统的权限报错信息。
  • 2)没有任何流程控制语句,简单地说就是只进行顺序操作,没有成功判断和逻辑严密性。

范例2: 写一个包含命令、变量和流程控制的语句来清除/var/logmessages 日志文件的 Shell 脚本。

#!/bin/bash
# 清除日志脚本,版本 2 
LOG_DIR=/var/log
ROOT_UID=0
if [ "$UID" -ne "$ROOT_UID" ]
  then
    echo "Must be root to run this script."
    exit 1
fi
cd $LOG_DIR || 
    echo "Cannot change to necessary directory."
    exit 1

cat /dev/null >messages &&
    echo "Logs cleaned up."
    exit 0

echo "Logs cleaned up fail."
exit 1

注:本文参考《跟老男孩学Linux运维-Shell编程实战》?
版权所有 ? 个人学习 ? 仅供参考 ? 未经允许 ? 不得商用

以上是关于Shel脚本-初步入门之《02 什么是 Shell 脚本》的主要内容,如果未能解决你的问题,请参考以下文章

Shell使用

iOS开发逆向之应用重签名(下)

shell脚本初步认识

学习Shell脚本

shell 脚本传参

linux-shell scripts 脚本的初步认识