Shell脚本详解: 使用date命令、if语句和mkdir命令

在这篇文章中,我们将分析以下Shell脚本代码:

echo wyh 20201887
date +'beijing:%r'
if [ ! -d $1 ]
then echo error && exit 1
else cd $1 && mkdir ./exam1 && echo success
fi

代码分析:

  1. echo wyh 20201887: 这行代码使用 'echo' 命令打印字符串 'wyh 20201887' 到终端。
  2. date +'beijing:%r': 这行代码使用 'date' 命令输出当前时间的格式化字符串。其中,'+' 符号表示指定输出格式,'beijing' 是一个自定义的字符串,'%r' 表示输出时间的 AM/PM 格式。
  3. if [ ! -d $1 ]: 这行代码是一个条件语句,它检查传递给脚本的第一个参数 ($1) 是否是一个目录。
    • if: 条件语句的开始。
    • [: 测试命令,用于评估条件表达式。
    • !: 逻辑非运算符,表示取反。
    • -d: 测试运算符,用于检查一个路径是否为目录。
    • $1: 传递给脚本的第一个参数。
    • ]: 测试命令的结束。
  4. then echo error && exit 1: 如果条件为真(即传递的参数不是一个目录),则执行该语句块。
    • then: 条件为真时执行的语句块的开始。
    • echo error: 打印字符串 'error' 到终端。
    • &&: 逻辑与运算符,表示如果前面的命令执行成功,则执行后面的命令。
    • exit 1: 退出脚本并返回退出码 1,表示脚本执行失败。
  5. else cd $1 && mkdir ./exam1 && echo success: 如果条件为假(即传递的参数是一个目录),则执行该语句块。
    • else: 条件为假时执行的语句块的开始。
    • cd $1: 切换当前工作目录到传递的参数指定的目录。
    • mkdir ./exam1: 在当前目录下创建一个名为 'exam1' 的子目录。
    • echo success: 打印字符串 'success' 到终端。
  6. fi: 条件语句的结束。

第三行的含义

第三行 date +'beijing:%r' 的含义是输出当前时间的格式化字符串,其中 'beijing' 是一个自定义字符串,'%r' 表示输出时间的 AM/PM 格式。

总结

这段Shell脚本代码首先输出一个字符串和当前时间的格式化表示。然后,它检查传递给它的第一个参数是否是一个目录。如果不是,它会打印一个错误消息并退出。如果是,它会切换到该目录并在其中创建一个新的子目录。最后,它会打印一个成功消息。

希望这篇文章能够帮助您理解这段Shell脚本代码的含义。

Shell脚本详解: 使用date命令、if语句和mkdir命令

原文地址: https://www.cveoy.top/t/topic/gxPA 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录