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
>
명령( command > file
)과 함께 리디렉션 연산자 wither를 사용하거나 파일을 별도로 생성할 수 있습니다.
> 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