world of scripts and fun - Fori

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
linuxCowboy
Beiträge: 287
Registriert: 05.02.2013 19:47:41

world of scripts and fun - Fori

Beitrag von linuxCowboy » 28.11.2015 17:10:10

Ich habe meinen for-loop-helper erweitert und will ihn euch nicht länger vorenthalten:

Code: Alles auswählen

# ln -s /etc/bash_aliases ~/.bash_aliases
#
MY_STUFF=/etc/bash_aliases

Fori ()
{
	[[ $1 == "-h" || $1 == "--help" || ! $2 ]] &&

	echo "
	$FUNCNAME (loop_cnt cmd args...) | (cmd_to_loop arg_per_loop...) # for loop helper
" && return

	local CMD=$1; shift

	if [[ $CMD =~ ^[0-9]+$ ]]; then # CMD is counter
		for i in `seq $CMD`; do
			echo "===== $i."
			"$@"
			echo
		done
	else
		if `type -P ${CMD%% *} >/dev/null`; then
			for i in "$@"; do # CMD is command
				echo "===== $i"
				nice $CMD "$i"
				[ $? -ge 128 ] && break
				echo
			done
		else
			for i in "$@"; do # CMD is alias
				echo "===== $i"
				(BASH_ENV=$MY_STUFF bash -c "$CMD \"$i\"")
				[ $? -ge 128 ] && break
				echo
			done
		fi
	fi
}
z.B.:

Code: Alles auswählen

 $ Fori 3 echo dreimal
===== 1.
dreimal

===== 2.
dreimal

===== 3.
dreimal
oder:

Code: Alles auswählen

 $ Fori 'rar e' *part1.*
...
Syntax: NoPaste-Eintrag38956
-der_linux_cowboy --- Besser werden! ... f*** w$$

Antworten