Memeriksa file dan apakah itu dapat dibaca dan ditulis

17

Saya mencoba menulis skrip yang akan mencari file .txt tertentu yang disimpan di desktop saya. Saya ingin skrip dapat memeriksa apakah file ini ada dan kemudian memeriksa untuk melihat apakah itu dapat dibaca dan ditulis.

Ada petunjuk?

Justin
sumber
baca Ekspresi Bersyarat Bash dalam manual, dan gunakan -rdan -woperator
glenn jackman

Jawaban:

28

Anda tidak perlu memeriksa apakah itu ada, cek untuk izin baca dan tulis sudah cukup:

Dari help test, pilihan tes yang relevan:

-a FILE        True if file exists.
-e FILE        True if file exists.
-f FILE        True if file exists and is a regular file.
-r FILE        True if file is readable by you.
-s FILE        True if file exists and is not empty.
-w FILE        True if the file is writable by you.

Jadi, Anda dapat mencoba:

FILE="/path/to/some/file"

if [[ -r $FILE && -w $FILE ]]
then
# do stuff
else
# file is either not readable or writable or both
fi
muru
sumber
2
harus itu tidak if [[ -r $FILE ]] && [[ -w $FILE ]]bukan if [[ -r $FILE && -w $FILE ]]?
Videonauth
1
@Videonauth lihat gnu.org/software/bash/manual/bash.html#Conditional-Constructs , &&dll diizinkan[[
muru