samba-tool help helper

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

samba-tool help helper

Beitrag von linuxCowboy » 10.04.2015 17:36:53

samba-tool zeigt die Hilfe für die subcmds der subcmds erst nach expliziter Anforderung an.

Eine gute Gelegenheit zum scripten:

Code: Alles auswählen

# bash function
Fhsato ()
{
	local SAMBA_TOOL=/opt/samba4/bin/samba-tool

	[ "$1" = "-h" -o "$1" = "--help" ] &&

echo	"\n\t $FUNCNAME [samba-tool_sub_cmd] # $SAMBA_TOOL [sub-cmd] --help\n" && return

	echo Version: `$SAMBA_TOOL --version`
	echo
	$SAMBA_TOOL --help

	[[ ! $1 ]] && return

	local CMDS=`$SAMBA_TOOL $1 --help | perl -nE 'say $1 if /^  ([a-z]+)/'`
	ex
	$SAMBA_TOOL $1 --help
	ex
	for i in $CMDS; do
		echo
		echo $SAMBA_TOOL $1 $i --help | head -1 | wc --max-line-length | perl -nE 'say "=" x $_'
		echo $SAMBA_TOOL $1 $i --help
		echo 
		$SAMBA_TOOL $1 $i --help
		echo
	done
}

alias ex='(for i in {1..25};do echo;done)'
Samba for life!
-der_linux_cowboy --- Besser werden! ... f*** w$$

linuxCowboy
Beiträge: 287
Registriert: 05.02.2013 19:47:41

Re: samba-tool help helper

Beitrag von linuxCowboy » 20.07.2015 21:05:08

Bugfix und Update:

Code: Alles auswählen

Fhsato ()
{
#	local SAMBA_TOOL=$MY_SAMBA/bin/samba-tool
	local SAMBA_TOOL=`which samba-tool`

	[ -z $SAMBA_TOOL ] && echo "No Samba 4!" && return 1

	[ "$1" = "-h" -o "$1" = "--help" ] &&

	echo "
	$FUNCNAME [samba-tool_sub_cmd | all] # $SAMBA_TOOL [sub-cmd] --help
" && return

	v=`echo "$SAMBA_TOOL    Version: $($SAMBA_TOOL --version)"`
	echo -n "$v" | perl -nE 'say "-" x length'
	echo    "$v"
	echo -n "$v" | perl -nE 'say "-" x length'
	echo
	$SAMBA_TOOL --help | grep -v 'more help'

	[[ ! $1 ]] && return

	local CMDS=`$SAMBA_TOOL | perl -nE'push @a,$1 if /^  ([a-z][a-z-]+)/;END{say "ok" if "'$1'" ~~ @a}'`

	[[ $CMDS != ok && $1 != all ]] && echo "Invalid sub command!" && return 1

	CMDS=`$SAMBA_TOOL | perl -nE 'say $1 if /^  ([a-z][a-z-]+)/'`

	for i in $CMDS; do
		[[ $1 != all && $1 != $i ]] && continue

		ex
		v=`echo "${SAMBA_TOOL##*/} $i"`

		echo -n "$v" | perl -nE 'say "-" x length'
		echo    "$v"
		echo -n "$v" | perl -nE 'say "-" x length'
		echo
		$SAMBA_TOOL $i --help | grep -v 'more help'
		echo

		SUBCMDS=`$SAMBA_TOOL $i --help | perl -nE 'say $1 if /^  ([a-z][a-z-]+)/'`

		for j in $SUBCMDS; do
			echo
			echo -n "$i $j" | perl -nE 'say "=" x length'
			echo    "$i $j"
			echo 
			$SAMBA_TOOL $i $j --help | grep -v 'more help'
			echo
		done
	done
}

alias ex='(for i in {1..25};do echo;done)'
-der_linux_cowboy --- Besser werden! ... f*** w$$

linuxCowboy
Beiträge: 287
Registriert: 05.02.2013 19:47:41

Re: samba-tool help helper

Beitrag von linuxCowboy » 25.09.2015 21:40:28

Bugfix und Update: Samba-Forum

- added Samba 4.3.0 SubSubCmd-Support
-der_linux_cowboy --- Besser werden! ... f*** w$$

Antworten