34 lines
		
	
	
		
			669 B
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			34 lines
		
	
	
		
			669 B
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
#! /bin/zsh
 | 
						|
 | 
						|
# simple unit-conversion util, partly made for fun, not much here so far
 | 
						|
 | 
						|
conversionUnits=$1
 | 
						|
inputsToConvert=($argv[2,-1])
 | 
						|
 | 
						|
function cmToIn() {
 | 
						|
	result=$(( 1 / 2.54 * $1 ))
 | 
						|
	printf '%.1f cm => %.2f in\n' $1 $result
 | 
						|
}
 | 
						|
 | 
						|
function inToCm() {
 | 
						|
	result=$(( 2.54 * $1 ))
 | 
						|
	printf '%.2f in => %.1f cm\n' $1 $result
 | 
						|
}
 | 
						|
 | 
						|
function unsupportedUnits() {
 | 
						|
	echo "unsupported conversion units given: $conversionUnits"
 | 
						|
	exit 1
 | 
						|
}
 | 
						|
 | 
						|
funcRef=exit # not sure what a good default function is, using exit
 | 
						|
case $conversionUnits in
 | 
						|
	(cm|cm-in) funcRef=cmToIn
 | 
						|
		;;
 | 
						|
	(in|in-cm) funcRef=inToCm
 | 
						|
		;;
 | 
						|
	(*) funcRef=unsupportedUnits
 | 
						|
		;;
 | 
						|
esac
 | 
						|
 | 
						|
for i in $inputsToConvert; do $funcRef $i; done
 |