Wie kann ich verhindern, dass der Befehl cp zum Überschreiben auffordert? Ich möchte alle Dateien überschreiben, ohne immer wieder zum Terminal zurückkehren zu müssen. Da es sich um große Dateien handelt, kann die Fertigstellung einige Zeit in Anspruch nehmen.
Ich habe versucht, die Option -f zu verwenden. Es wird immer noch gefragt, ob ich überschreiben möchte.
-f, --force
if an existing destination file cannot be opened, remove it and
try again (redundant if the -n option is used)
cp -f /media/somedir/somefiles* .
cp: overwrite `./somefilesxxx'? y
whereis cp
wird zeigen, wo der Befehl ist. So können Sie den echten Befehl anstelle des Alias aufrufen.Nachdem Sie diese Lösung gesehen haben. Ich konnte sehen, dass die Bash-Alias-Funktion die Probleme verursachte. http://systembash.com/content/prompt-to-confirm-copy-even-with-cp-f/
Er empfiehlt
Ich möchte immer noch den Alias behalten, den ich einfach nicht auf diese Instanz anwenden möchte. Meine Lösung besteht darin, die Binärdatei mit einem vollständigen Pfad zu verwenden, damit die Bash-Alias-Funktion nicht übernommen wird. Das funktioniert ganz gut
quelle
Leider hat der Befehl copy "cp" unter Linux keine Option, diese Frage automatisch mit "y" oder "n" zu beantworten. Es gibt mehr als eine Lösung für dieses Problem, je nachdem, was Sie tun möchten. Eine Lösung besteht darin, den Unix-Befehl "yes" zu verwenden. Dieser Befehl gibt einen String wiederholt aus, bis er beendet wird.
Wenn wir alle Dateien im Zielverzeichnis überschreiben möchten, können Sie mit dem Befehl "yes" alle Fragen mit einem "y" beantworten. "y" ist ein Standardwert, der nicht angegeben werden muss.
Wenn Sie vermeiden möchten, dass Dateien im Zielverzeichnis überschrieben werden, können Sie den Befehl "yes" verwenden, um alle Fragen mit einem Nein "n" zu beantworten.
Verwenden Sie "man yes", um weitere Informationen zum Befehl "yes" zu erhalten.
quelle