如何修改脚本以打印有关目录中所有文件的信息

时间:2019-07-15 21:55:44

标签: linux bash shell redhat

如何完成脚本?

Linux版本3.10.0-957.21.3.el7.x86_64(Red Hat 4.8.5-36)

#!/bin/bash
echo "Enter the file name"
read x
if [ -f $x ]
then
    echo "This is a regular file"
else
    echo "This is a directory"
fi

需要修改脚本,该脚本将输出/ etc /目录中的所有文件和目录,并指出哪一个是什么(例如:

dir1 is a directory
fileA is a file
dir2 is a directory

我做的第二部分工作。需要帮助

1 个答案:

答案 0 :(得分:-1)

使用for循环而不是从用户那里获取文件名。

#!/bin/bash
for file in /etc/*; do
    if [ -f "$file" ]
    then 
        echo "$file is a regular file"
    elif [ -d "$file" ]
    then 
        echo "$file is a directory"
    else 
        echo "$file is something else"
    fi
done

如果值包含空格,请不要忘记引用变量。除了文件和目录,还有其他可能性。