如何在 bash 脚本中创建任意文件以及如何删除创建的文件?

如何在 bash 脚本中创建任意文件以及如何删除创建的文件?

如何在 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

相关内容