в C-оболочке Мне нужно проверить, существует ли файл или старше его (или в этом примере старше 5 секунд с начала unix время). если файл не существует или старый, некоторые вещи должны быть выполнены.проверьте, нет ли файла или старше другого в csh
В моем примере «bla.txt» не существует, так что первое условие истинно
if (! -f bla.txt || `stat -c "%Y" bla.txt` > 5) echo 1
stat: cannot stat `bla.txt': No such file or directory
1
Проблема, если я совмещаю эти условия, если заявление, второй (возраст файла) выполняется, хотя первая из них уже истинна и дает ошибку, потому что файла там нет.
в Баш, все работает как надо
if [ ! -f bla.txt ] || [ `stat -c "%Y" bla.txt` > 5 ]; then echo 1; fi
1
любые идеи о том, как добиться такого поведения в CSH без else if
? Я не хочу, чтобы команды выполнялись дважды в моем коде.
спасибо!
Я просто понял, как неправильно второе условие, если заявление для команды Баша, но он не выполняется, так что это не имеет значения ^^ – muluman88