
Я знаю, что с -f cp должен быть тихим, но это не так! Я делаю
cp -rf Functional Functionalssssssss
и если Functional не существует, то он говорит, что невозможно определить 'Functional'... но я просто не хочу видеть сообщение об ошибке!! Я хочу справиться с ними сам
решение1
Вывод cannot stat...
фактически отправляется на stderr
, а не на stdout
. Для конкретного примера, который вы приводите в вопросе, следующее подавит вывод ошибки путем перенаправления stderr
на /dev/null
:
cp -rf Functional Functionalssssssss 2>/dev/null
Также, по крайней мере для версии cp
на моем сервере Debian Linux, -f
не является универсальным флагом «тишины». Это синоним для --force
, что означает, что cp
он молча уничтожит любой существующий файл назначения перед копированием.
решение2
Если вы используете bash или sh (стандарт posix), [ -f file ] && cp file target
это то, что вам нужно.
Этот проверит, существует ли файл, и скопирует его. Попрощайтесь с ошибками.