Czy mogę używać mv file1 file2
w taki sposób, że porusza się tylko file1
na file2
razie file2
nie istnieje?
próbowałem
yes n | mv -i file1 file2
(pozwala to mv
zapytać, czy plik2 powinien zostać zastąpiony i automatycznie odpowiedzieć nie), ale oprócz nadużywania -i
nie daje mi również ładnych kodów błędów (zawsze 141 zamiast 0, jeśli przeniesiono i coś innego, jeśli nie przeniesiono)
-T
takiego.
mv
zamiast statusu yes
, najprostszym rozwiązaniem może byćmv -i file1 file2 < <(yes n)
pipefail
włączoną opcję, ponieważ 141 oznacza status wyjściayes
, a niemv
który nie miałby powodu, aby uzyskać SIGPIPE tutaj.