我正在尝试编写一个脚本,用于查找保存到我桌面的某个 .txt 文件。我希望该脚本能够检查此文件是否存在,然后检查它是否可读写。
有什么提示吗?
答案1
您不需要检查它是否存在,检查读写权限就足够了:
从中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
test -r file.txt -a -w file.txt
echo $?
如果可读可写,则返回码为 0。
答案3
在某些网络协议上,文件权限可能会报告错误,并-r
失败。
使用head -c1
或dd bs=1 count=1
检查可读性。
is_readable(){
head -c1 "$1" > /dev/null 2>&1
return $?
}
if is_readable "$file"; then
echo "$file is readable"
else
echo "$file is not readable"
fi