MST

星途 面试题库

面试题:Bash 文件测试之复杂条件判断

编写一个Bash脚本,要求检查当前目录下是否存在一个名为'test.txt'的文件,并且该文件可写,若满足条件则输出文件的大小,否则输出提示信息说明不满足的条件。
26.1万 热度难度
编程语言Bash

知识考点

AI 面试

面试题答案

一键面试
#!/bin/bash

if [ -f test.txt ] && [ -w test.txt ]; then
    size=$(stat -c%s test.txt)
    echo "文件大小为: $size 字节"
else
    if [ ! -f test.txt ]; then
        echo "文件 test.txt 不存在"
    elif [ ! -w test.txt ]; then
        echo "文件 test.txt 不可写"
    fi
fi
  1. if [ -f test.txt ] && [ -w test.txt ]; then:检查当前目录下是否存在名为test.txt的文件并且该文件可写。-f用于判断文件是否存在且为普通文件,-w用于判断文件是否可写。
  2. size=$(stat -c%s test.txt):获取文件大小,stat -c%s格式输出文件大小(字节数)。
  3. 如果不满足条件,再分别判断是文件不存在还是文件不可写,并输出相应提示信息。