Unix上找到一个文件,然后提示删除
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Unix上找到一个文件,然后提示删除相关的知识,希望对你有一定的参考价值。
我目前正在学习Unix,并且在我要解决的书中遇到了一个问题。
我正在尝试编写一个脚本,要求用户输入文件名。然后,脚本需要检查文件是否存在。如果该文件不存在,则该脚本应显示一条错误消息,然后退出该脚本。如果文件存在,脚本应询问用户是否真的要删除该文件。如果答案是“是”或“ y”,则脚本应删除该文件。如果答案为否或n,则脚本应退出脚本。如果答案既不是肯定也不是否,则脚本应显示一条错误消息并退出脚本。
这是我到目前为止写的,但是遇到一些错误:
#!/bin/bash
file=$1
if [ -f $file ];
then
echo read -p "File $file existes,do you want to delete y/n" delete
case $delete in
n)
exit
y) rm $file echo "file deleted";;
else
echo "fie $file does not exist"
exit
fi
如果有人来解释我错了,将不胜感激
答案
我建议使用这种形式:
#!/bin/bash
file=$1
if [[ -f $file ]]; then
read -p "File $file exists. Do you want to delete? [y/n] " delete
if [[ $delete == [yY] ]]; then ## Only delete the file if y or Y is pressed. Any other key would cancel it. It's safer this way.
rm "$file" && echo "File deleted." ## Only echo "File deleted." if it was actually deleted and no error has happened. rm probably would send its own error info if it fails.
fi
else
echo "File $file does not exist."
fi
此外,您也可以在提示中添加-n
选项以仅接受一个键,而不再需要Enter键:
read -n1 -p "File $file exists. Do you want to delete? [y/n] " delete
您在echo
之前添加了read
,而我删除了它。
以上是关于Unix上找到一个文件,然后提示删除的主要内容,如果未能解决你的问题,请参考以下文章
在GitHub上删除项目后,在IDEA上传项目依然提示project is already on github