outsource from india chennai india programmers freelance php coder freelance outsource scripts programming complicated perl patterns php module installation
outsource from india perl installation and configuration php installation linux system administration US$15,US$19,US$11,US$10 cheap programmer
india outsource outsource india chennai india programmers php perl mysql freelance freelance programmer
SHOWCASE of php and perl scripts CONTACT US for php custom perl scripts
HOME
 

B. Clone script

#!/bin/bash

set -e

export PATH=/sbin:/bin

tftp_server=10.0.0.1
nic_module=3c59x.o
major_a=(2 3 22)
family_a=(fd hda hdc)
image_a=(img0001 img0002 img0003 img0004)

operation_a=(	"Copy from network to device" \
		"Copy from device to network" \
		"Run fdisk")

mount -t proc proc /proc
insmod /lib/${nic_module}
/sbin/dhcpcd

while true; do \
	[ ! -z "${image}" ] && unset image
	echo
	echo "Clone Menu"
	echo
	echo "Operation"
	echo
	PS3="Choose operation (1-${#operation_a[*]}): "
	select operation in "${operation_a[@]}"; do \
		[ -z "${operation}" ] && continue
		echo
		echo $REPLY - $operation
		echo
		break
	done

	echo "Device Family"
	echo
	PS3="Choose device family (1-${#family_a[*]}): "
	select family in "${family_a[@]}"; do \
		[ -z "${family}" ] && continue
		echo
		echo $REPLY - $family
		echo
		break
	done

	major_i=$[REPLY-1]
	major=${major_a[$major_i]}

	echo "Minor Number"
	echo
	PS3="Choose minor number (0-255): "
	echo -n "$PS3" >&2
	read minor
	minor=$[minor%256]
	echo
	echo $minor
	echo

	if [ "${operation}" != "${operation_a[2]}" ]; then \
		echo "Image"
		echo
		PS3="Choose image (1-${#image_a[*]}): "
		select image in "${image_a[@]}"; do \
			[ -z "${image}" ] && continue
			echo
			echo $REPLY - $image
			echo
			break
		done
		image_i=$[REPLY-1]
		image=${image_a[${image_i}]}
	fi

	echo
	echo -e "Operation:\t$operation"
	device_name=/dev/${family_a[${major_i}]}${minor}
	echo -e "Device:\t\t${device_name} ($major, $minor)"
	[ ! -z "${image}" ] && echo -e "Image:\t\t${image}"
	echo

	echo "Confirmation"
	echo
	PS3="Ok/Cancel (1-2): "
	select ok in Ok Cancel; do \
		[ -z "${ok}" ] && continue
		echo
		echo $REPLY - $ok
		echo
		break
	done
	if [ "${ok}" = "Ok" ]; then \
		if [ ! -b ${device_name} ]; then \
			echo "Creating ${device_name}"
			mknod ${device_name} b ${major} ${minor}
		fi
		if [ ! -z "${image}" ]; then \
			if [ ! -p ${image} ]; then \
				echo "Creating pipe"
				mknod ${image} p
			fi
		fi
		if [ "${operation}" = "${operation_a[0]}" ]; then \
			tftp ${tftp_server} <<-EOT &
			binary
			get ${image}
			EOT
			gzip -c -d < ${image} | dd of=${device_name}
		elif [ "${operation}" = "${operation_a[1]}" ]; then \
			tftp ${tftp_server} <<-EOT &
			binary
			put ${image}
			EOT
			dd if=${device_name} | gzip -c > ${image}
		elif [ "${operation}" = "${operation_a[2]}" ]; then \
			fdisk ${device_name}
		fi
		echo
	fi

	echo "Continuation"
	echo
	PS3="Continue/Exit (1-2): "
	select new in Continue Exit; do \
		[ -z "${new}" ] && continue
		echo
		echo $REPLY - $new
		echo
		break
	done
	[ "${new}" = "Exit" ] && break
done
exit 0
		

Linux HOWTO full list
   This document, LDP HOWTO-INDEX, is copyrighted (c) 1995 - 2002 by Tim Bynum, Guylhem Aznar, Joshua Drake and Greg Ferguson. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.1 or any later version published by the Free Software Foundation; with no Invariant Sections, with no Front-Cover Texts, and with no Back-Cover Texts. A copy of the license is available at http://www.gnu.org/copyleft/fdl.html. If you have questions, please contact the LDP.
Web Design Copyright © 1999-2003. Chrisranjana Software Solutions Pvt Ltd. syndicate rss feed