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

你有:

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

find: -type 的参数应该只包含一个字母

几件事:删除-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 回答
1

我会试试这个:

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