Перевірка файлу та чи читається він чи доступний для запису


17

Я намагаюся написати сценарій, який шукатиме певний .txt файл, збережений на моєму робочому столі. Я хочу, щоб сценарій міг перевірити, чи існує цей файл, а потім перевірити, чи є він читабельним і доступним для запису.

Якісь підказки?


Лічені Bash Умовні вирази в ручному і використовувати -rі -wоператор
Glenn Джекман

Відповіді:


28

Вам не потрібно перевіряти, чи він існує, достатньо перевірок на права читання та запису:

З help test, підбірка відповідних тестів:

-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.

Тож ви можете спробувати:

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

if [[ -r $FILE && -w $FILE ]]
then
# do stuff
else
# file is either not readable or writable or both
fi

2
не повинно бути if [[ -r $FILE ]] && [[ -w $FILE ]]замість цього if [[ -r $FILE && -w $FILE ]]?
Videonauth

1
@Videonauth см gnu.org/software/bash/manual/bash.html#Conditional-Constructs , і &&т.д., допускається[[
Мура
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.