Jak mogę powstrzymać polecenie cp przed monitowaniem o zastąpienie. Chcę zastąpić wszystkie pliki bez konieczności wracania do terminala. Ponieważ są to duże pliki i ich ukończenie zajmuje trochę czasu.
Próbowałem użyć opcji -f. Nadal pyta, czy chcę zastąpić.
-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
pokaże, gdzie jest polecenie. Dzięki temu będziesz mógł wywołać prawdziwe polecenie zamiast aliasu.Po obejrzeniu tego rozwiązania. Widziałem, że funkcja aliasu bashes była przyczyną problemów. http://systembash.com/content/prompt-to-confirm-copy-even-with-cp-f/
On poleca
Nadal chcę zachować alias, ale po prostu nie chcę, aby dotyczył tego wystąpienia. Moim rozwiązaniem jest użycie pliku binarnego z pełną ścieżką, aby funkcja aliasu bashesa nie przejęła. To działa całkiem dobrze.
źródło
Niestety w systemie Linux polecenie kopiowania „cp” nie ma opcji automatycznej odpowiedzi na to pytanie za pomocą odpowiedzi „y” lub „n”. Istnieje więcej niż jedno rozwiązanie tego problemu, w zależności od tego, co chcesz zrobić. Jednym z rozwiązań jest użycie uniksowego polecenia „tak”. To polecenie będzie wyświetlało ciąg znaków wielokrotnie aż do zabicia.
Jeśli chcemy zastąpić wszystkie pliki w katalogu docelowym, można użyć polecenia „tak”, aby odpowiedzieć na wszystkie pytania za pomocą „y”. „y” jest wartością domyślną, więc nie trzeba jej podawać.
Jeśli chcemy uniknąć nadpisywania któregokolwiek z plików w katalogu docelowym, można użyć polecenia „tak”, aby odpowiedzieć na wszystkie pytania bez „n”.
Użyj „man yes”, aby uzyskać więcej informacji na temat polecenia „yes”.
źródło