2
#!/bin/bash 


echo "please enter a path where to search:"
read myPath

touch --date "2012-01-01" /tmp/start
touch --date "2012-01-01" /tmp/end

until  [ "$myPath" = $(pwd) ] 
do
echo "please enter a correct path where to search:"
read myPath
done


RESULT= "$(find  $HOME "-type -f" -newer /tmp/start -not -newer tmp/end)"

echo $RESULT

私がそれを実行しようとすると、私は次のようになります:

find: Arguments to -type should contain only one letter
TimeStamp: line 17: : command not found
4

3 に答える 3

2

手始めに、なぜあなたは引用符の-type -f にあるのですか?そして、そうで -type fはありません-type -f(前にダッシュはありませんf

これを試して:

"$(find $HOME -type f -newer /tmp/start -not -newer tmp/end)"
于 2012-05-20T00:45:07.587 に答える
1

私はこれを試してみます:

"$(find $HOME -type f -newer /tmp/start -not -newer tmp/end)"
于 2012-05-20T00:45:53.647 に答える
1

あなたが持っている:

RESULT= "$(find  $HOME "-type -f" -newer /tmp/start -not -newer tmp/end)"

find: -type の引数には 1 文字のみを含める必要があります

いくつかのこと: 周りの引用符を削除します-type -f。なぜそこに置いたのかわかりません。パラメータの正しい引数は、ではなく-typeである必要がfあります-f

タイムスタンプ: 17 行目: : コマンドが見つかりません

に触れました/tmp/endが、 を見ていますtmp/end。これは と同じことを言ってい$PWD/tmp/endます。これをディレクトリ構造のルートに固定するには、先頭にスラッシュが必要です。あなたは必要/tmp/endではありませんtmp/end

試す:

RESULT= "$(find "$HOME" -type f -newer /tmp/start -not -newer /tmp/end)"
于 2012-05-20T04:47:22.197 に答える