shell判断用户家目录下(~)下面有没有一个叫 test 的文件夹,如果没有,提示按 y 创建并进入此文件夹,按 n 退出,如果有,直接进入,提示请输入一个字符串,并按此字符串创建一个文件,如果此文件已存在,提示重新输入,重复三次自动退出,不存在创建完毕,退出。
时间: 2024-06-09 14:04:48 浏览: 101
可以使用以下脚本实现:
```bash
#!/bin/bash
if [ ! -d ~/test ]; then
echo "The 'test' directory does not exist in your home directory."
read -p "Do you want to create it? (y/n): " choice
if [ "$choice" == "y" ]; then
mkdir ~/test
cd ~/test
else
echo "Exiting."
exit 1
fi
else
cd ~/test
fi
for ((i=1; i<=3; i++)); do
read -p "Please enter a filename: " filename
if [ -f "$filename" ]; then
echo "The file '$filename' already exists."
if [ $i -eq 3 ]; then
echo "Maximum retries exceeded. Exiting."
exit 1
fi
else
touch "$filename"
echo "File '$filename' created successfully."
exit 0
fi
done
```
解释一下脚本的逻辑:
首先判断用户家目录下是否有一个叫做 `test` 的文件夹,如果没有,提示用户是否创建,如果选择创建,则创建并进入此文件夹,否则退出脚本。
如果 `test` 文件夹已存在,则直接进入该文件夹。
然后使用一个 for 循环,最多重试三次,让用户输入一个文件名。如果这个文件已经存在,则提示用户重新输入,否则创建这个文件并退出脚本。
需要注意的是,这个脚本只是一个简单的示例,可能还需要进行一些额外的错误处理和边界检查,以确保脚本的正确性和健壮性。
阅读全文