0

ファイルが通常のファイルではない場合、ファイルが通常のファイルではないとエコーするようにエラーチェックを試みています。

#!/bin/csh

echo Enter file name
set filename = $<

if(-f $filename)then

        if(-z $filename)then
        rm $filename    

        else
        clear
        echo $filename
        du -sh $filename
        stat -c %h $filename
        stat -c %U $filename
        date -r $filename

        endif
else
echo File is not an ordinary file
endif

これをたとえばfake.txtで実行すると、次のようになります

du: fake.txt': No such file or directory stat: cannot statfake.txt にアクセスできません': そのようなファイルまたはディレクトリはありません stat: `fake.txt' を統計できません: そのようなファイルまたはディレクトリはありません date: fake.txt: そのようなファイルまたはディレクトリはありません

私は何が欠けていますか?

REDO:

#!/bin/csh

echo Enter file name
set filename = $<

endif
test -f $filename

if ( $status == 0 ) then
        if(-z $filename)then
        rm $filename

        else
        clear
        echo $filename
        du -sh $filename
        stat -c %h $filename
        stat -c %U $filenam
        endif
else
  echo "File is not an ordinary file."
endif
4

1 に答える 1