编写一个程序,它的作用是:(1)先查看一下 /root/test/logical这个名称是否存在:(2)若不存在,则创建一个文件,使用touch来创建,创建完成后退出;(3)如果存在的话,判断该名称是否为文件,若为文件则将之删除后建立一个名为loglical的目录之后退出;如果存在,而且该名称为目录,则删除此目录。
一、编写脚本
打开MobaXterm编辑器,连上主机后新建一个shell文件tets2.sh,输入如下代码:
#! /bin/bash
## this is fys's test script
if [ ! -e /root/test/logical ]; then
touch logical
elif [ -f /root/test/logical ]; then
rm -f /root/test/logical && mkdir /root/test/logical
elif [ -d /root/test/logical ]; then
rm -r /root/test/logical
fi
二、程序调试
首先查看该文件是否存在,发现无此文件。
输入sh -x test2.sh 执行脚本进行调试,然后查看当前目录,发现多了一个名为logical的文件。
然后创建/root/test/logical这个文件
再次调试脚本
注意,此时logical颜色改变了,已经变成了一个目录。
再次执行脚本
这时刚刚logical这个目录就没了。
三、相关说明
1、if 后面中括号里面的参数说明
-e 是判断该名称是否存在
-f 是判断该名称是否存在且为文件
-d 是判断该名称是否存在且为目录
2、rm 后面的参数说明
-f 就是force的意思,忽略不存在的文件,不会出现警告信息
-r 递归删除,rm一般用于删除文件,删除目录时不加这个会报错