如何在 Linux 上使用 bash 创建随机文件以及如何删除创建的文件?我不知道。
想法:用户应该输入任意文件名并保存。他们还可以删除此保存的文件。
提前致谢
删除文件的代码:
if [ "$REPLY" = "d" ];
then
read -r -p 'Delete file: Please enter the name of the file to delete: ' -a delete_file
echo -e "\nFile was deleted: ${delete_file[*]}\n"
break
fi
答案1
>
您可以使用重定向运算符 wither 与命令 ( command > file
) 或单独创建文件:
> file
file
请注意,如果具有该名称的文件已存在,这将覆盖其内容。如果不存在这样的文件,则会创建一个空文件。
或者,您可以使用该touch
命令,如果您指定的名称的文件尚不存在,该命令也会创建一个文件,但不会覆盖现有文件的内容。如果存在具有该名称的文件,该touch
命令将更新其修改时间戳:
touch file
因此,在脚本中,如果您想提示用户输入文件名并创建它,您可以这样做:
#!/bin/bash
read -p "Enter a file name: " fileName
echo "You entered: '$fileName'"
while [ -e "$fileName" ]; do
read -p "A file named '$fileName' already exists, delete? [y/n]: "
if [ "$REPLY" = "y" ]; then
rm -- "$fileName"
else
read -p "Enter a different file name: " fileName
fi
done
touch -- "$fileName"
要使用随机名称创建文件,最好的工具是mktemp
确保该名称在目标目录中是唯一的(man mktemp
详细信息请参见):
$ randomFileName=$(mktemp)
$ echo "$randomFileName"
/tmp/tmp.QLLdNLFBFd