2016-03-24 9 views
0

autograderという名前のフォルダのルートにidk.shというスクリプトがあります。 また、いくつかの.shファイルを含むhw1というautograderのサブディレクトリがあります。私はファイル名と内容を印刷しようとしましたが、失敗しました。実際には/ hw1、/ hw1 /、/ hw1/*を試してみましたが失敗しました。なぜ私がファイルを取得できなかったのか、なぜWebを検索して、誰かが私に答えてくれることを願って、そのアプローチが/ 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 {} \; 
を達成するために findを行うだろう
0

ディレクトリパスは、ファイルシステムのルートからのパスである絶対パスを意味します。 相対のパスは、/(および\0以外の文字で始まりますが、それは専門用語です)。他のディレクトリからスクリプトを実行できるようにするには、the directory of the scriptへの参照を使用することもできます。

も参照してください:

関連する問題