1 1.9 kre # $NetBSD: cmv,v 1.9 2025/04/09 13:44:12 kre Exp $ 2 1.4 jtc # Copyright (c) 1991, 1993 3 1.4 jtc # The Regents of the University of California. All rights reserved. 4 1.1 cgd # 5 1.1 cgd # This code is derived from software contributed to Berkeley by 6 1.1 cgd # Kenneth Almquist. 7 1.1 cgd # 8 1.1 cgd # Redistribution and use in source and binary forms, with or without 9 1.1 cgd # modification, are permitted provided that the following conditions 10 1.1 cgd # are met: 11 1.1 cgd # 1. Redistributions of source code must retain the above copyright 12 1.1 cgd # notice, this list of conditions and the following disclaimer. 13 1.1 cgd # 2. Redistributions in binary form must reproduce the above copyright 14 1.1 cgd # notice, this list of conditions and the following disclaimer in the 15 1.1 cgd # documentation and/or other materials provided with the distribution. 16 1.1 cgd # 17 1.1 cgd # THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND 18 1.1 cgd # ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 19 1.1 cgd # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 20 1.1 cgd # ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE 21 1.1 cgd # FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 22 1.1 cgd # DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 23 1.1 cgd # OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 24 1.1 cgd # HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 25 1.1 cgd # LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 26 1.1 cgd # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 27 1.1 cgd # SUCH DAMAGE. 28 1.1 cgd # 29 1.7 christos # @(#)cmv 8.2 (Berkeley) 5/4/95 30 1.1 cgd 31 1.1 cgd # Conditional move--don't replace an existing file. 32 1.1 cgd 33 1.1 cgd cmv() { 34 1.1 cgd if test $# != 2 35 1.9 kre then 36 1.9 kre printf 'Usage: cmv src-file dst-file\n' >&2 37 1.1 cgd return 2 38 1.1 cgd fi 39 1.9 kre if test -e "$2" || test -h "$2" || test -w "$2" 40 1.9 kre then 41 1.9 kre printf 'cmv: %s exists\n' "$2" >&2 42 1.1 cgd return 2 43 1.1 cgd fi 44 1.1 cgd /bin/mv "$1" "$2" 45 1.1 cgd } 46