Linux脚本练习之script042-写一个脚本要求显示当前系统日期和时间,而后创建目录 `/tmp/lstest`,然后切换工作目录至 `/tmp/lstest`。

Posted 二木成林

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux脚本练习之script042-写一个脚本要求显示当前系统日期和时间,而后创建目录 `/tmp/lstest`,然后切换工作目录至 `/tmp/lstest`。相关的知识,希望对你有一定的参考价值。

script042

题目

写一个脚本,要求:

  1. 显示当前系统日期和时间,而后创建目录 /tmp/lstest
  2. 切换工作目录至 /tmp/lstest
  3. 创建目录 a1db56e6test
  4. 创建空文件 xyx2y732
  5. 列出当前目录下以 ax 或者 6 开头的文件或目录
  6. 列出当前目录下以字母开头,后跟一个任意数字,而后跟任意长度字符的文件或目录

分析

本题考查的知识点:

  • date 命令
  • if 条件判断语句
  • mkdir 命令
  • touch 命令
  • find 命令

思路:

  • 根据题目要求一步步用命令实现即可。
  • find 命令查看指定目录下匹配指定正则表达式的文件。

脚本

#!/bin/bash

####################################
#
# 功能:写一个脚本:
#       1. 显示当前系统日期和时间,而后创建目录 /tmp/lstest
#       2. 切换工作目录至 /tmp/lstest
#       3. 创建目录 a1d,b56e,6test
#       4. 创建空文件 xy,x2y,732
#       5. 列出当前目录下以 a,x 或者 6 开头的文件或目录
#       6. 列出当前目录下以字母开头,后跟一个任意数字,而后跟任意长度字符的文件或目录
#
# 使用:直接执行,不需要任何参数
#
####################################


# 变量,目标目录
DEST_DIR="/tmp/lstest"

# 显示当前系统日期和时间
date "+%Y-%m-%d %H:%M:%S"
# 而后创建目录 /tmp/lstest
if [ ! -d "$DEST_DIR" ]; then
    mkdir -p "$DEST_DIR"
fi

# 切换工作目录至 /tmp/lstest
cd "$DEST_DIR" || exit

# 创建目录 a1d,b56e,6test,注意目录不存在才进行创建,否则不创建
if [ ! -d "./a1d" ]; then
    mkdir a1d
fi
if [ ! -d "./b56e" ]; then
    mkdir b56e
fi
if [ ! -d "./6test" ]; then
    mkdir 6test
fi

# 创建空文件 xy,x2y,732,注意目录不存在才进行创建,否则不创建
if [ ! -f "./xy" ]; then
    touch xy
fi
if [ ! -f "./x2y" ]; then
    touch x2y
fi
if [ ! -f "./732" ]; then
    touch 732
fi

# 列出当前目录下以 a,x 或者 6 开头的文件或目录
echo "列出当前目录下以 a,x 或者 6 开头的文件或目录:"
find . -name "[ax6]*"
echo

# 列出当前目录下以字母开头,后跟一个任意数字,而后跟任意长度字符的文件或目录
echo "列出当前目录下以字母开头,后跟一个任意数字,而后跟任意长度字符的文件或目录:"
find . -name "[a-zA-Z][0-9]*"

测试

执行 ./script042.sh 调用脚本。

以上是关于Linux脚本练习之script042-写一个脚本要求显示当前系统日期和时间,而后创建目录 `/tmp/lstest`,然后切换工作目录至 `/tmp/lstest`。的主要内容,如果未能解决你的问题,请参考以下文章

Linux脚本练习之script079-处理文本

Linux脚本练习之script079-处理文本

Linux脚本练习之script064-去掉空行

Linux脚本练习之script063-打印空行的行号

Linux脚本练习之script059-统计文件的行数

Linux脚本练习之script061-输出7的倍数