Как говорили другие, локальный
всегда возвращает 0. Решение заключается в том, чтобы сначала объявить переменную:
function testcase()
{
local MYRESULT
MYRESULT=$(false)
if (( $? != 0 )); then
echo "False returned false!"
return 1
fi
return 0
}
-вывести:
$ testcase
False returned false!
$
переместит все файлы в [1174585]/path/to/dir[1174586], которые старше пяти дней, в /target/path.
Вы можете попробовать это, чтобы увидеть, что на самом деле будет выполнено:
Если вы хотите указать время в минутах, используйте один из [1174595]-mmin[1174596], [1174597]-cmin[1174598] и [1174599]-amin[1174600] вместо него.
Для поиска файлов моложе определенного количества времени используйте [1174601]-[1174602] вместо [1174603]+[1174604], например, [1174605]-mmin -30[1174606].
Другим методом было бы использование [1174607]xargs[1174608] (который будет выполнять команду с каждой из входных строк; [1174609]manpage[1174610]):
(удалить "эхо" для фактического перемещения вещей)[1174231].