mirror of
				https://github.com/rofl0r/proxychains-ng.git
				synced 2025-11-04 00:56:03 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			65 lines
		
	
	
		
			924 B
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			65 lines
		
	
	
		
			924 B
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
#!/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
 | 
						|
ln -s "$1" "$tmp"
 | 
						|
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
 |