如何在shell程序中引用子目录中的文件?

时间:2016-03-24 16:52:43

标签: shell

我在名为autograder的文件夹的根目录下有一个名为idk.sh的脚本。 我在自动编程器中也有一个名为hw1的子目录,其中包含一些.sh文件。我试图打印出文件名和内容,但我失败了。实际上我试过/ hw1,/ hw1 /,/ hw1 / *并且失败了。我真的不明白为什么我没有获取文件,并希望有人可以回答我,因为我查了网,发现方法应该是/ hw1 / *。谢谢。

#!/bin/sh
for file in /hw1/*
do
        echo $file
        if [ -f $file ]
        then
                cat $file
                echo $file
        fi
done
~
~

2 个答案:

答案 0 :(得分:0)

/开头的目录路径表示绝对路径,即来自文件系统根目录的路径。 相对路径以/(和\0以外的任何字符开头,但这是一个技术性问题。您还希望使用对the directory of the script的引用,以便能够从其他目录运行该脚本。

另见:

答案 1 :(得分:0)

我只需要find来实现此目标

find /hw/ -type f -print -exec cat {} \;