Команда cp в Linux не молчит

Команда cp в Linux не молчит

Я знаю, что с -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 это то, что вам нужно.

Этот проверит, существует ли файл, и скопирует его. Попрощайтесь с ошибками.

Связанный контент