linux-tutorial/codes/shell/操作符/文件测试运算符.sh

49 lines
1022 B
Bash
Raw Normal View History

2019-10-15 14:17:17 +08:00
#!/usr/bin/env bash
file="/etc/hosts"
if [[ -r ${file} ]]; then
2019-10-29 18:22:19 +08:00
echo "${file} 文件可读"
2019-10-15 14:17:17 +08:00
else
2019-10-29 18:22:19 +08:00
echo "${file} 文件不可读"
2019-10-15 14:17:17 +08:00
fi
if [[ -w ${file} ]]; then
2019-10-29 18:22:19 +08:00
echo "${file} 文件可写"
2019-10-15 14:17:17 +08:00
else
2019-10-29 18:22:19 +08:00
echo "${file} 文件不可写"
2019-10-15 14:17:17 +08:00
fi
if [[ -x ${file} ]]; then
2019-10-29 18:22:19 +08:00
echo "${file} 文件可执行"
2019-10-15 14:17:17 +08:00
else
2019-10-29 18:22:19 +08:00
echo "${file} 文件不可执行"
2019-10-15 14:17:17 +08:00
fi
if [[ -f ${file} ]]; then
2019-10-29 18:22:19 +08:00
echo "${file} 文件为普通文件"
2019-10-15 14:17:17 +08:00
else
2019-10-29 18:22:19 +08:00
echo "${file} 文件为特殊文件"
2019-10-15 14:17:17 +08:00
fi
if [[ -d ${file} ]]; then
2019-10-29 18:22:19 +08:00
echo "${file} 文件是个目录"
2019-10-15 14:17:17 +08:00
else
2019-10-29 18:22:19 +08:00
echo "${file} 文件不是个目录"
2019-10-15 14:17:17 +08:00
fi
if [[ -s ${file} ]]; then
2019-10-29 18:22:19 +08:00
echo "${file} 文件不为空"
2019-10-15 14:17:17 +08:00
else
2019-10-29 18:22:19 +08:00
echo "${file} 文件为空"
2019-10-15 14:17:17 +08:00
fi
if [[ -e ${file} ]]; then
2019-10-29 18:22:19 +08:00
echo "${file} 文件存在"
2019-10-15 14:17:17 +08:00
else
2019-10-29 18:22:19 +08:00
echo "${file} 文件不存在"
2019-10-15 14:17:17 +08:00
fi
# Output:(根据文件的实际情况,输出结果可能不同)
# /etc/hosts 文件可读
# /etc/hosts 文件可写
# /etc/hosts 文件不可执行
# /etc/hosts 文件为普通文件
# /etc/hosts 文件不是个目录
# /etc/hosts 文件不为空
# /etc/hosts 文件存在