Вам не нужно анализировать ls
, чтобы определить, существует ли файл.
help test
сообщит вам:
-e FILE True if file exists.
Можно сказать:
if [ -e sample01.log ]
then
echo "File Found" > lsOutput.log
else
echo "File Not Found" > lsOutput.log
fi
Если вы хотите убедиться, что файл является обычным файлом, используйте вместо него -f
:
-f FILE True if file exists and is a regular file.
( То, что вы сделали, также работает, но при этом ls
выдает сообщение об ошибке (на STDERR
), которое, возможно, наводит вас на мысль, что это не работает.)
# * * * * *
# | | | | |
# | | | | day of week 0-7 (0 or 7 is Sun, or use names)
# | | | month 1-12 (or names)
# | | day of month 1-31
# | hour 0-23
# minute 0-59
# runs on every 1st of month at 7:52am
52 7 1 * * bash '/home/linux/tanu/cat.sh'
# runs on all other days at 7:52am
52 7 2-31 * * bash '/home/linux/tanu/cat.sh'
Надеюсь, это правильно.