#!/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
答案 0 :(得分:2)
对于初学者,为什么在{/ 1}} 之外引号?它就是
-type -f
不是-type f
(-type -f
之前没有破折号)
试试这个:
f
答案 1 :(得分:1)
我会试试这个:
"$(find $HOME -type f -newer /tmp/start -not -newer tmp/end)"
答案 2 :(得分:1)
你有:
RESULT= "$(find $HOME "-type -f" -newer /tmp/start -not -newer tmp/end)"
有几件事:删除-type -f
周围的引号。我不知道你为什么把它们放在那里。 -type
参数的正确参数应为f
而不是-f
。
您已对/tmp/end
进行了操作,但您正在查看tmp/end
。这与$PWD/tmp/end
的说法相同。您需要在前面使用斜杠将其锚定到目录结构的根目录。您需要/tmp/end
而不是tmp/end
。
尝试:
RESULT= "$(find "$HOME" -type f -newer /tmp/start -not -newer /tmp/end)"