#!/bin/sh # # This is an actually-safe install command which installs the new # file atomically in the new location, rather than overwriting # existing files. # usage() { printf "usage: %s [-D] [-l] [-m mode] src dest\n" "0ドル" 1>&2 exit 1 } mkdirp= symlink= mode=755 while getopts Dlm: name ; do case "$name" in D) mkdirp=yes ;; l) symlink=yes ;; m) mode=$OPTARG ;; ?) usage ;; esac done shift $(($OPTIND - 1)) test "$#" -eq 2 || usage src=1ドル dst=2ドル tmp="$dst.tmp.$$" case "$dst" in */) printf "%s: %s ends in /\n", "0ドル" "$dst" 1>&2 ; exit 1 ;; esac set -C set -e if test "$mkdirp" ; then umask 022 case "2ドル" in */*) mkdir -p "${dst%/*}" ;; esac fi trap 'rm -f "$tmp"' EXIT INT QUIT TERM HUP umask 077 if test "$symlink" ; then umask 000 ln -s "1ドル" "$tmp" umask 077 else cat < "1ドル"> "$tmp" chmod "$mode" "$tmp" fi mv -f "$tmp" "2ドル" test -d "2ドル" && { rm -f "2ドル/$tmp" printf "%s: %s is a directory\n" "0ドル" "$dst" 1>&2 exit 1 } exit 0

AltStyle によって変換されたページ (->オリジナル) /