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

如何在shell程序中引用子目录中的文件?,shell,Shell,我有一个名为idk.sh的脚本,位于名为autograder的文件夹的根目录下。 我在autograder中还有一个名为hw1的子目录,其中包含一些.sh文件。我试图打印出文件名和内容,但失败了。实际上我尝试了/hw1、/hw1/、/hw1/*但失败了。我真的不明白为什么我无法获取文件,希望有人能回答我,因为我在网上查找,发现方法应该是/hw1/*。多谢各位 #!/bin/sh for file in /hw1/* do echo $file if [ -f $f

我有一个名为idk.sh的脚本,位于名为autograder的文件夹的根目录下。 我在autograder中还有一个名为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
~
~

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

另见:


    • 我只需要做一个
      查找
      就可以实现这一点

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