2017-04-11 5 views
0

シェルスクリプトがあり、scriptがいくつかのファイル(シェルスクリプトとテキストファイルを含む)にアクセスし、最後にいくつかのファイルが他のファイル(テキストファイルのみ)にアクセスします。シェルスクリプト内のすべてのアクセスされたファイルを見つける方法

#shell script A 
SHELLFILE=/usr/app/some # shell file 
COMMAND=/usr/sbin/sshd # shell command 
cat $SHELLFILE 
... 
GET_PATH=$(cd "$(dirname "$0")"; pwd) 
TXT_FILE="${GET_PATH}/log.txt" #text file 
... 


#hierarchical file tree 

       shell script A [directory 1] 
         | 
      --------------------------- 
      |       | 
    shell script B [directory 2] text file [directory 3] 
      | 
    text file [directory 4] 

ルートシェルスクリプトを解析するとき は、例えば、どのように私はすべてのアクセスしたファイルとそのディレクトリを列挙階層ファイルツリーを得ることができますか?

答えて

0

私はあなたの質問を理解しているとは確信していませんが、かなり複雑なシェルスクリプトによってどのファイルにアクセスしているのかを見たいと思っています。

スクリプトを開始する時刻の「センチネルマーカー」を作成し、最後にそのマーカー以降にアクセスされたすべてのファイルを見つける方法があります。

ので、開始時(あるいはあなたがそれを変更したくない場合は、スクリプトを開始する前に)そのスタンプ現在の時刻ファイルを作成します。スクリプトの最後で、その後

touch /tmp/BEGIN 

を終了した後でも、起動後にアクセスされたファイルを確認してください。

find . -neweram /tmp/BEGIN 
+0

ご迷惑をおかけして申し訳ありません。私はシェルスクリプトに現れたすべてのファイルを解析したい。 –

+0

:-)申し訳ありませんが、私はあなたのニーズを誤解しているようです。私はそれを削除しません、将来他の誰かにとって有用かもしれないし、それは何の害も及ぼしません。 –

関連する問題